|
56992
|
1982
|
19
|
2026-05-19T08:46:18.814022+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779180378814_m1.jpg...
|
iTerm2
|
APP (-zsh)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
⌥⌘1
APP (-zsh)...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19826388,"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.19826388,"top":0.05888889,"width":0.19826388,"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.20243056,"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.39652777,"top":0.05888889,"width":0.19791667,"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.40069443,"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.59444445,"top":0.05888889,"width":0.19791667,"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.5986111,"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.79236114,"top":0.05888889,"width":0.19791667,"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.7965278,"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.9618056,"top":0.032222223,"width":0.038194418,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (-zsh)","depth":1,"bounds":{"left":0.47777778,"top":0.033333335,"width":0.05138889,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
-7968428796081976103
|
-1358120912747055016
|
visual_change
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
⌥⌘1
APP (-zsh)...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
56993
|
1983
|
15
|
2026-05-19T08:46:18.914760+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779180378914_m2.jpg...
|
iTerm2
|
APP (-zsh)
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
FV faVsco.js°9 JY-20676-delete-report-related-obje FV faVsco.js°9 JY-20676-delete-report-related-objectsroledeyYC) ActivitvController.pnp© SearchTransformer.phpphp api.php© AskAnythingController.php• M Auth9 ActivitvAskAnythingTest.php© AskAnythingPromptService.php©AskAnythingPromptDto.php© AskAnythingPrompt.phpphp api_v2.php© AutomatedReport.php© AutomatedReportsService.php© ExportControllerRateLimitTest.phporakerropnetcllentone) M Middleware©› AskAnythingPromptServiceTest.php x © Search.phps:php> D RequestsInteractionsdeclare(scrictcypes=l)_ InvitationsU JODsnamespace lescs unic conponenc Askanychlnor_ ListenersD MCP_ Modelsu Nouricauions22Dclass AskAnvth1ngPromptServicerest extends TestcaseuOroanizauonserinasPlavlistsuse TestPrivatelethodPoliciesRulesorivate AskAnvthinaPromotService SaskAnvthinaPromotService:a SavedSearches31 usaaesc SavedSearchcRUdFeatureTest.ondprivate AskAnythingRepository&Mock0bject $askAnythingRepository:M Search→cleles1 ServiceProvidersprivate UserRepository&Mock0bject SuserRepository:m ServicesN TeamsQ CustomerApiFeatureTest.phpprivate GroupRepositoryInterface&Mock0bject $groupRepository:© DeactivateUserFeatureTest.phpC FilterScheduledMeetingsFeatureTest.php31 đг >protected function setUp: voidi...;NudaeProcessingreature lest.ong@ OrganizationRolesFeatureTest.php44 Dpublic function testGetAskAnythingPrompts: void© PlanhatServiceFeatureTest.php@ ScimUsersFeatureTest.phpi ToamPetentionPolicvFeaturelest.onoC ThemeTopicUpdateFeatureTest.php$user = $this->createMock( originalClassName: User::class):Suser->expects(Sthis->anyO)morhodl canchtain'getId')->W1LLReturn( value: 10*[EMAIL]> D Integration> 0 Services> D Stubsv D Unit> O Actions0 Componentsuser->expects(sth1s->anyop'getuu1d'))->W1LLReturn( valuesdetaultpromot = sthis->createrockorllame: AsKAnvthina?romot:.class):sdetaultpromot->expectssthis->onceobi'aetownen'))->wil Return( value: nulb):•DActionltemsSdefaultPromot->expects(Sthis->onceob→DActivitv'aetluid')M ActivitvAnalvticsM ActivitvSearchSdefaul +Promnt->exnectsSthis->onceOhi• MAiActi vitvivoeM AiAutomation"Sentiment!).>M AiCallScorindSdefaul+Promnt->exnects/Sthis->onceonl•M AckAnvthingl->methodd cons"aetContent!)c AckAnvthinaPromntServicetect.nhn->wil1 Retunnd valu'What was the overall sentiment of the customer during the call?'):C HistorvServiceTest nhncdofaul+Dnomnt_soynontc/Cthic_soncobhlAosontDosiont> M Ack liminnvAnout affectina the dictionarios for other lanquades (todav 10-00)=custom.log= laravel.log4 SF jiminny@localhost] x4 HS_local [jiminny@localhost]& console [PROD]# console [euyA console [STAGING]C) CoachinaFeedbackCoachUserin.onpTx: AutovSo jiminny vSELECT ar.id, ar.uuid, ar.media type, ar.status, a.typeFROM automated_report_results arJOIN automated_reports a ON a.id = ar.report.idWHERE a.type = 'ask_jiminny'ITMTT 10-aBTbl8XLX0 A 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 descSELECT * FROM automated_report_results order by id desc;select * trom actzviry searches where user 10 = 1451SELECTautomated report results.* FROM 'automated_report_resultsiINNER JOIN automated revortsnated report results','report id' = 'automated reports'.'idiWHERE 1EIautomated remort results', generated at' IS Noi NULLAND automated renort results sent at' IS NOT NULLIAND JSON CONTAINS('automated renorts' recinients', 143. Is "usersit))SELECT * FROM automated_reports where id = 67;SELECT * FROM automated_reports where id = 42;SELECT * FROM users WHERE id = 143; # group 28select * from teams where id = 3143;select * from crm_configurations where id = 500:select * from users where name = 'Integration Account': # 1695SELECT * FROM social accounts WHERE sociable id = 1695:select * from activities where crm_configuration id = 39and recording_ state = 'recorded' and duration > 60and status ='completed' and actual start time >='2025-12-01'SELECT * FROM activities WHERE uuid to_bin(•458cf915-b914-4000-b083-5687632b2956') = uuid:SELECT * FROM activities WHERE uuid to bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid: # 422003SELECT * FROM activities WHEREid IN 16,42200395SELECT * FROM activities where status = 'failed',Socket fail to connect to host:address=(host=localhost) (port=3306)(tvpe=primarv). Connection refused• lue 1y May 11:40.19AskAnythingPromptServiceTest vCascadeAsk Jiminny Report M+0 ..AskAnythingPromptService.phpInoughttor os>Read.AskAnvthinaPromotServicelest.ono #44-223Thought for 1sAskAnythingPromptServiceTest.php+24 -2Summarv of Revisions1. Searchtiranstormer now emits has renortslSearchTransformer.nhn. 42-50_Searchtranstormer.php:42-50public tunction transtorm(search Ssearch): arrayreturn П"Tilters = Sthis->getrilters(Ssearch),'has reports' => Ssearch->automatedReportso->existsoYou reverted the Sappends laccessor on the Search model ((correctlv — addina it would have caused unnecessary querieseverywhere the model is serialized). The flag now lives only in the transformer used by listActivitySearch2. Rethought the prompt DTOYou're riaht - newlv-created and edited oromots will never have related reports, and most existina oromots won't have anveither. So l:• Made AskAnythingPromptDto::ShasReports nullable (?bool ShasReports = null).• Onlv included it in toArravo when it is not null — same conditional pattern as ownerid / sharellsers / shareGrouos |• Removed it from create() and edit() DTO construction in AskAnythingPromptService - they always pass nothingnow. so create/undate responses won't include has renorts•Inget(), it stays — calls Sprompt→>gethaskeports() (your renamed accessor) so the list enapoint emits the tlag.This way the per-row exists() auery is onlv run when the list endooint is hit. never on createledit.3. Test uodateUpdated testGetAskAnythingPrompts in AskAnythingPromptServiceTest.php to mock getHasReports() on everyoromot mock and reflect the values (one true, three false ) in the expected DTOs. The existina testCreateAskAnvthinaPromptWithTwoUsers. testEditAskAnythingPrompt. etc. don't need changes - they already construct expected DTOswithout an 8th araument. which now matches the null default.Tenli axeAccent alliAsk anvthina (884-L)<> Code Claude Qnus 4.7 MediumWN Windsurf Toams 66-1UTF.8Po 4 spaces...
|
NULL
|
-831742911975870252
|
NULL
|
click
|
ocr
|
NULL
|
FV faVsco.js°9 JY-20676-delete-report-related-obje FV faVsco.js°9 JY-20676-delete-report-related-objectsroledeyYC) ActivitvController.pnp© SearchTransformer.phpphp api.php© AskAnythingController.php• M Auth9 ActivitvAskAnythingTest.php© AskAnythingPromptService.php©AskAnythingPromptDto.php© AskAnythingPrompt.phpphp api_v2.php© AutomatedReport.php© AutomatedReportsService.php© ExportControllerRateLimitTest.phporakerropnetcllentone) M Middleware©› AskAnythingPromptServiceTest.php x © Search.phps:php> D RequestsInteractionsdeclare(scrictcypes=l)_ InvitationsU JODsnamespace lescs unic conponenc Askanychlnor_ ListenersD MCP_ Modelsu Nouricauions22Dclass AskAnvth1ngPromptServicerest extends TestcaseuOroanizauonserinasPlavlistsuse TestPrivatelethodPoliciesRulesorivate AskAnvthinaPromotService SaskAnvthinaPromotService:a SavedSearches31 usaaesc SavedSearchcRUdFeatureTest.ondprivate AskAnythingRepository&Mock0bject $askAnythingRepository:M Search→cleles1 ServiceProvidersprivate UserRepository&Mock0bject SuserRepository:m ServicesN TeamsQ CustomerApiFeatureTest.phpprivate GroupRepositoryInterface&Mock0bject $groupRepository:© DeactivateUserFeatureTest.phpC FilterScheduledMeetingsFeatureTest.php31 đг >protected function setUp: voidi...;NudaeProcessingreature lest.ong@ OrganizationRolesFeatureTest.php44 Dpublic function testGetAskAnythingPrompts: void© PlanhatServiceFeatureTest.php@ ScimUsersFeatureTest.phpi ToamPetentionPolicvFeaturelest.onoC ThemeTopicUpdateFeatureTest.php$user = $this->createMock( originalClassName: User::class):Suser->expects(Sthis->anyO)morhodl canchtain'getId')->W1LLReturn( value: 10*[EMAIL]> D Integration> 0 Services> D Stubsv D Unit> O Actions0 Componentsuser->expects(sth1s->anyop'getuu1d'))->W1LLReturn( valuesdetaultpromot = sthis->createrockorllame: AsKAnvthina?romot:.class):sdetaultpromot->expectssthis->onceobi'aetownen'))->wil Return( value: nulb):•DActionltemsSdefaultPromot->expects(Sthis->onceob→DActivitv'aetluid')M ActivitvAnalvticsM ActivitvSearchSdefaul +Promnt->exnectsSthis->onceOhi• MAiActi vitvivoeM AiAutomation"Sentiment!).>M AiCallScorindSdefaul+Promnt->exnects/Sthis->onceonl•M AckAnvthingl->methodd cons"aetContent!)c AckAnvthinaPromntServicetect.nhn->wil1 Retunnd valu'What was the overall sentiment of the customer during the call?'):C HistorvServiceTest nhncdofaul+Dnomnt_soynontc/Cthic_soncobhlAosontDosiont> M Ack liminnvAnout affectina the dictionarios for other lanquades (todav 10-00)=custom.log= laravel.log4 SF jiminny@localhost] x4 HS_local [jiminny@localhost]& console [PROD]# console [euyA console [STAGING]C) CoachinaFeedbackCoachUserin.onpTx: AutovSo jiminny vSELECT ar.id, ar.uuid, ar.media type, ar.status, a.typeFROM automated_report_results arJOIN automated_reports a ON a.id = ar.report.idWHERE a.type = 'ask_jiminny'ITMTT 10-aBTbl8XLX0 A 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 descSELECT * FROM automated_report_results order by id desc;select * trom actzviry searches where user 10 = 1451SELECTautomated report results.* FROM 'automated_report_resultsiINNER JOIN automated revortsnated report results','report id' = 'automated reports'.'idiWHERE 1EIautomated remort results', generated at' IS Noi NULLAND automated renort results sent at' IS NOT NULLIAND JSON CONTAINS('automated renorts' recinients', 143. Is "usersit))SELECT * FROM automated_reports where id = 67;SELECT * FROM automated_reports where id = 42;SELECT * FROM users WHERE id = 143; # group 28select * from teams where id = 3143;select * from crm_configurations where id = 500:select * from users where name = 'Integration Account': # 1695SELECT * FROM social accounts WHERE sociable id = 1695:select * from activities where crm_configuration id = 39and recording_ state = 'recorded' and duration > 60and status ='completed' and actual start time >='2025-12-01'SELECT * FROM activities WHERE uuid to_bin(•458cf915-b914-4000-b083-5687632b2956') = uuid:SELECT * FROM activities WHERE uuid to bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid: # 422003SELECT * FROM activities WHEREid IN 16,42200395SELECT * FROM activities where status = 'failed',Socket fail to connect to host:address=(host=localhost) (port=3306)(tvpe=primarv). Connection refused• lue 1y May 11:40.19AskAnythingPromptServiceTest vCascadeAsk Jiminny Report M+0 ..AskAnythingPromptService.phpInoughttor os>Read.AskAnvthinaPromotServicelest.ono #44-223Thought for 1sAskAnythingPromptServiceTest.php+24 -2Summarv of Revisions1. Searchtiranstormer now emits has renortslSearchTransformer.nhn. 42-50_Searchtranstormer.php:42-50public tunction transtorm(search Ssearch): arrayreturn П"Tilters = Sthis->getrilters(Ssearch),'has reports' => Ssearch->automatedReportso->existsoYou reverted the Sappends laccessor on the Search model ((correctlv — addina it would have caused unnecessary querieseverywhere the model is serialized). The flag now lives only in the transformer used by listActivitySearch2. Rethought the prompt DTOYou're riaht - newlv-created and edited oromots will never have related reports, and most existina oromots won't have anveither. So l:• Made AskAnythingPromptDto::ShasReports nullable (?bool ShasReports = null).• Onlv included it in toArravo when it is not null — same conditional pattern as ownerid / sharellsers / shareGrouos |• Removed it from create() and edit() DTO construction in AskAnythingPromptService - they always pass nothingnow. so create/undate responses won't include has renorts•Inget(), it stays — calls Sprompt→>gethaskeports() (your renamed accessor) so the list enapoint emits the tlag.This way the per-row exists() auery is onlv run when the list endooint is hit. never on createledit.3. Test uodateUpdated testGetAskAnythingPrompts in AskAnythingPromptServiceTest.php to mock getHasReports() on everyoromot mock and reflect the values (one true, three false ) in the expected DTOs. The existina testCreateAskAnvthinaPromptWithTwoUsers. testEditAskAnythingPrompt. etc. don't need changes - they already construct expected DTOswithout an 8th araument. which now matches the null default.Tenli axeAccent alliAsk anvthina (884-L)<> Code Claude Qnus 4.7 MediumWN Windsurf Toams 66-1UTF.8Po 4 spaces...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
56994
|
1982
|
20
|
2026-05-19T08:46:21.817558+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779180381817_m1.jpg...
|
iTerm2
|
DEV (-zsh)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys006
Poetry Last login: Mon May 18 09:17:28 on ttys006
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ dev
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug redis-set
Testing Redis SET with PhpRedis syntax...
✅ Redis SET with PhpRedis syntax succeeded
Key: test:ratelimit:1779099716
Value: 1779099776
TTL: 60 seconds
Retrieved value: 1779099776
✅ Test key deleted
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug redis-set
Testing Redis SET with PhpRedis syntax...
TypeError
Cannot access offset of type array on array
at vendor/laravel/framework/src/Illuminate/Redis/Connections/PhpRedisConnection.php:87
83▕ {
84▕ return $this->command('set', [
85▕ $key,
86▕ $value,
➜ 87▕ $expireResolution ? [$flag, $expireResolution => $expireTTL] : null,
88▕ ]);
89▕ }
90▕
91▕ /**
+2 vendor frames
3 app/Console/Commands/JiminnyDebugCommand.php:49
Illuminate\Support\Facades\Facade::__callStatic("set")
4 app/Console/Commands/JiminnyDebugCommand.php:25
Jiminny\Console\Commands\JiminnyDebugCommand::testRedisSet()
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 [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20676-delete-report-related-objects) $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
⌥⌘1
DEV (-zsh)...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys006\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ dev\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug redis-set\nTesting Redis SET with PhpRedis syntax...\n✅\u0000 Redis SET with PhpRedis syntax succeeded\nKey: test:ratelimit:1779099716\nValue: 1779099776\nTTL: 60 seconds\nRetrieved value: 1779099776\n✅\u0000 Test key deleted\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug redis-set\nTesting Redis SET with PhpRedis syntax...\n\n TypeError \n\n Cannot access offset of type array on array\n\n at vendor/laravel/framework/src/Illuminate/Redis/Connections/PhpRedisConnection.php:87\n 83▕ {\n 84▕ return $this->command('set', [\n 85▕ $key,\n 86▕ $value,\n ➜ 87▕ $expireResolution ? [$flag, $expireResolution => $expireTTL] : null,\n 88▕ ]);\n 89▕ }\n 90▕ \n 91▕ /**\n\n +2 vendor frames \n\n 3 app/Console/Commands/JiminnyDebugCommand.php:49\n Illuminate\\Support\\Facades\\Facade::__callStatic(\"set\")\n\n 4 app/Console/Commands/JiminnyDebugCommand.php:25\n Jiminny\\Console\\Commands\\JiminnyDebugCommand::testRedisSet()\n\nroot@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 (master) $ dev\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug /bin/bash\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker: 'docker exec' requires at least 2 arguments\n\nUsage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...]\n\nSee 'docker exec --help' for more information\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys006\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ dev\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug redis-set\nTesting Redis SET with PhpRedis syntax...\n✅\u0000 Redis SET with PhpRedis syntax succeeded\nKey: test:ratelimit:1779099716\nValue: 1779099776\nTTL: 60 seconds\nRetrieved value: 1779099776\n✅\u0000 Test key deleted\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug redis-set\nTesting Redis SET with PhpRedis syntax...\n\n TypeError \n\n Cannot access offset of type array on array\n\n at vendor/laravel/framework/src/Illuminate/Redis/Connections/PhpRedisConnection.php:87\n 83▕ {\n 84▕ return $this->command('set', [\n 85▕ $key,\n 86▕ $value,\n ➜ 87▕ $expireResolution ? [$flag, $expireResolution => $expireTTL] : null,\n 88▕ ]);\n 89▕ }\n 90▕ \n 91▕ /**\n\n +2 vendor frames \n\n 3 app/Console/Commands/JiminnyDebugCommand.php:49\n Illuminate\\Support\\Facades\\Facade::__callStatic(\"set\")\n\n 4 app/Console/Commands/JiminnyDebugCommand.php:25\n Jiminny\\Console\\Commands\\JiminnyDebugCommand::testRedisSet()\n\nroot@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 (master) $ dev\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug /bin/bash\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker: 'docker exec' requires at least 2 arguments\n\nUsage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...]\n\nSee 'docker exec --help' for more information\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19826388,"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.19826388,"top":0.05888889,"width":0.19826388,"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.20243056,"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.39652777,"top":0.05888889,"width":0.19791667,"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.40069443,"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.59444445,"top":0.05888889,"width":0.19791667,"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.5986111,"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.79236114,"top":0.05888889,"width":0.19791667,"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.7965278,"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.9618056,"top":0.032222223,"width":0.038194418,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"DEV (-zsh)","depth":1,"bounds":{"left":0.47777778,"top":0.033333335,"width":0.052083332,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
8947074040961110516
|
-2187625245807146361
|
visual_change
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys006
Poetry Last login: Mon May 18 09:17:28 on ttys006
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ dev
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug redis-set
Testing Redis SET with PhpRedis syntax...
✅ Redis SET with PhpRedis syntax succeeded
Key: test:ratelimit:1779099716
Value: 1779099776
TTL: 60 seconds
Retrieved value: 1779099776
✅ Test key deleted
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug redis-set
Testing Redis SET with PhpRedis syntax...
TypeError
Cannot access offset of type array on array
at vendor/laravel/framework/src/Illuminate/Redis/Connections/PhpRedisConnection.php:87
83▕ {
84▕ return $this->command('set', [
85▕ $key,
86▕ $value,
➜ 87▕ $expireResolution ? [$flag, $expireResolution => $expireTTL] : null,
88▕ ]);
89▕ }
90▕
91▕ /**
+2 vendor frames
3 app/Console/Commands/JiminnyDebugCommand.php:49
Illuminate\Support\Facades\Facade::__callStatic("set")
4 app/Console/Commands/JiminnyDebugCommand.php:25
Jiminny\Console\Commands\JiminnyDebugCommand::testRedisSet()
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 [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20676-delete-report-related-objects) $
DOCKER
Close Tab
DEV (-zsh)
Close Tab
APP (-zsh)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
⌥⌘1
DEV (-zsh)...
|
56992
|
NULL
|
NULL
|
NULL
|
|
56995
|
1982
|
21
|
2026-05-19T08:46:27.903158+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779180387903_m1.jpg...
|
iTerm2
|
APP (-zsh)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
⌥⌘1
APP (-zsh)...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19826388,"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 (docker)","depth":2,"bounds":{"left":0.19826388,"top":0.05888889,"width":0.19826388,"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.20243056,"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.39652777,"top":0.05888889,"width":0.19791667,"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.40069443,"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.59444445,"top":0.05888889,"width":0.19791667,"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.5986111,"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.79236114,"top":0.05888889,"width":0.19791667,"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.7965278,"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.9618056,"top":0.032222223,"width":0.038194418,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (-zsh)","depth":1,"bounds":{"left":0.47777778,"top":0.033333335,"width":0.05138889,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
3268474484794192155
|
-1358119813235427240
|
visual_change
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
⌥⌘1
APP (-zsh)...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
56996
|
1983
|
16
|
2026-05-19T08:46:51.630896+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779180411630_m2.jpg...
|
iTerm2
|
APP (docker)
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (docker)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
⌥⌘1
APP (docker)...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.094913565,"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 (docker)","depth":2,"bounds":{"left":0.36519283,"top":1.0,"width":0.094913565,"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.3671875,"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 (docker)","depth":2,"bounds":{"left":0.46010637,"top":1.0,"width":0.09474734,"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.46210107,"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.55485374,"top":1.0,"width":0.09474734,"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.5568484,"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.64960104,"top":1.0,"width":0.09474734,"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.6515958,"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.7307181,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (docker)","depth":1,"bounds":{"left":0.49634308,"top":1.0,"width":0.029920213,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
-249262360758180866
|
-1358120912881272616
|
idle
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (docker)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
⌥⌘1
APP (docker)...
|
56993
|
NULL
|
NULL
|
NULL
|
|
56997
|
1982
|
22
|
2026-05-19T08:46:58.073417+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779180418073_m1.jpg...
|
iTerm2
|
APP (docker)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (docker)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
⌥⌘1
APP (docker)...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19826388,"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 (docker)","depth":2,"bounds":{"left":0.19826388,"top":0.05888889,"width":0.19826388,"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.20243056,"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 (docker)","depth":2,"bounds":{"left":0.39652777,"top":0.05888889,"width":0.19791667,"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.40069443,"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.59444445,"top":0.05888889,"width":0.19791667,"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.5986111,"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.79236114,"top":0.05888889,"width":0.19791667,"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.7965278,"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.9618056,"top":0.032222223,"width":0.038194418,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (docker)","depth":1,"bounds":{"left":0.4722222,"top":0.033333335,"width":0.0625,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
-249262360758180866
|
-1358120912881272616
|
idle
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (docker)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
⌥⌘1
APP (docker)...
|
56995
|
NULL
|
NULL
|
NULL
|
|
56998
|
1983
|
17
|
2026-05-19T08:47:21.878907+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779180441878_m2.jpg...
|
iTerm2
|
APP (docker)
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (docker)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
⌥⌘1
APP (docker)...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.094913565,"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 (docker)","depth":2,"bounds":{"left":0.36519283,"top":1.0,"width":0.094913565,"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.3671875,"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 (docker)","depth":2,"bounds":{"left":0.46010637,"top":1.0,"width":0.09474734,"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.46210107,"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.55485374,"top":1.0,"width":0.09474734,"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.5568484,"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.64960104,"top":1.0,"width":0.09474734,"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.6515958,"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.7307181,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (docker)","depth":1,"bounds":{"left":0.49634308,"top":1.0,"width":0.029920213,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
-249262360758180866
|
-1358120912881272616
|
idle
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (docker)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
⌥⌘1
APP (docker)...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
56999
|
1982
|
23
|
2026-05-19T08:47:28.212021+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779180448212_m1.jpg...
|
iTerm2
|
APP (docker)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (docker)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
⌥⌘1
APP (docker)...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19826388,"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 (docker)","depth":2,"bounds":{"left":0.19826388,"top":0.05888889,"width":0.19826388,"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.20243056,"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 (docker)","depth":2,"bounds":{"left":0.39652777,"top":0.05888889,"width":0.19791667,"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.40069443,"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.59444445,"top":0.05888889,"width":0.19791667,"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.5986111,"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.79236114,"top":0.05888889,"width":0.19791667,"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.7965278,"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.9618056,"top":0.032222223,"width":0.038194418,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (docker)","depth":1,"bounds":{"left":0.4722222,"top":0.033333335,"width":0.0625,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
-249262360758180866
|
-1358120912881272616
|
idle
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (docker)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
⌥⌘1
APP (docker)...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
57000
|
1983
|
18
|
2026-05-19T08:47:52.083026+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779180472083_m2.jpg...
|
iTerm2
|
APP (docker)
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
1138/5690 [▓▓▓▓▓░░░░░░░░░░░░░░░░░░░░░░░] 20%
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (docker)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
⌥⌘1
APP (docker)...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 1138/5690 [▓▓▓▓▓░░░░░░░░░░░░░░░░░░░░░░░] 20%","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 1138/5690 [▓▓▓▓▓░░░░░░░░░░░░░░░░░░░░░░░] 20%","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.094913565,"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 (docker)","depth":2,"bounds":{"left":0.36519283,"top":1.0,"width":0.094913565,"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.3671875,"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 (docker)","depth":2,"bounds":{"left":0.46010637,"top":1.0,"width":0.09474734,"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.46210107,"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.55485374,"top":1.0,"width":0.09474734,"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.5568484,"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.64960104,"top":1.0,"width":0.09474734,"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.6515958,"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.7307181,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (docker)","depth":1,"bounds":{"left":0.49634308,"top":1.0,"width":0.029920213,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
3911076358191991957
|
-1359245713276487464
|
idle
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
1138/5690 [▓▓▓▓▓░░░░░░░░░░░░░░░░░░░░░░░] 20%
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (docker)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
⌥⌘1
APP (docker)...
|
56998
|
NULL
|
NULL
|
NULL
|
|
57001
|
1982
|
24
|
2026-05-19T08:47:58.384092+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779180478384_m1.jpg...
|
iTerm2
|
APP (docker)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
2011/5690 [▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░░] 35%
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (docker)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
⌥⌘1
APP (docker)...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 2011/5690 [▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░░] 35%","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 2011/5690 [▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░░] 35%","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19826388,"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 (docker)","depth":2,"bounds":{"left":0.19826388,"top":0.05888889,"width":0.19826388,"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.20243056,"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 (docker)","depth":2,"bounds":{"left":0.39652777,"top":0.05888889,"width":0.19791667,"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.40069443,"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.59444445,"top":0.05888889,"width":0.19791667,"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.5986111,"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.79236114,"top":0.05888889,"width":0.19791667,"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.7965278,"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.9618056,"top":0.032222223,"width":0.038194418,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (docker)","depth":1,"bounds":{"left":0.4722222,"top":0.033333335,"width":0.0625,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
674432738610483643
|
-1358120912881272616
|
idle
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
2011/5690 [▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░░] 35%
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (docker)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
⌥⌘1
APP (docker)...
|
56999
|
NULL
|
NULL
|
NULL
|
|
57002
|
NULL
|
0
|
2026-05-19T08:48:22.372746+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779180502372_m2.jpg...
|
iTerm2
|
APP (docker)
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
4781/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░] 84%
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (docker)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
⌥⌘1
APP (docker)...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 4781/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░] 84%","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 4781/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░] 84%","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.094913565,"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 (docker)","depth":2,"bounds":{"left":0.36519283,"top":1.0,"width":0.094913565,"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.3671875,"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 (docker)","depth":2,"bounds":{"left":0.46010637,"top":1.0,"width":0.09474734,"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.46210107,"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.55485374,"top":1.0,"width":0.09474734,"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.5568484,"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.64960104,"top":1.0,"width":0.09474734,"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.6515958,"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.7307181,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (docker)","depth":1,"bounds":{"left":0.49634308,"top":1.0,"width":0.029920213,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
-1544025323922658412
|
-1358120912881272616
|
idle
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
4781/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░] 84%
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (docker)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
⌥⌘1
APP (docker)...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
57003
|
NULL
|
0
|
2026-05-19T08:48:35.533523+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779180515533_m1.jpg...
|
iTerm2
|
APP (-zsh)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19826388,"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 (docker)","depth":2,"bounds":{"left":0.19826388,"top":0.05888889,"width":0.19826388,"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.20243056,"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.39652777,"top":0.05888889,"width":0.19791667,"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.40069443,"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":"ffmpeg","depth":2,"bounds":{"left":0.59444445,"top":0.05888889,"width":0.19791667,"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.5986111,"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.79236114,"top":0.05888889,"width":0.19791667,"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.7965278,"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.9618056,"top":0.032222223,"width":0.038194418,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (-zsh)","depth":1,"bounds":{"left":0.47777778,"top":0.033333335,"width":0.05138889,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
2802650493718167367
|
-1358120912881272742
|
visual_change
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
57004
|
1985
|
0
|
2026-05-19T08:48:52.617492+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779180532617_m2.jpg...
|
iTerm2
|
APP (-zsh)
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.094913565,"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 (docker)","depth":2,"bounds":{"left":0.36519283,"top":1.0,"width":0.094913565,"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.3671875,"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.46010637,"top":1.0,"width":0.09474734,"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.46210107,"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.55485374,"top":1.0,"width":0.09474734,"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.5568484,"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.64960104,"top":1.0,"width":0.09474734,"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.6515958,"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.7307181,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (-zsh)","depth":1,"bounds":{"left":0.49900267,"top":1.0,"width":0.024601065,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
2802650493718167367
|
-1358120912881272742
|
idle
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
57002
|
NULL
|
NULL
|
NULL
|
|
57005
|
1984
|
0
|
2026-05-19T08:49:05.940634+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779180545940_m1.jpg...
|
iTerm2
|
APP (-zsh)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19826388,"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 (docker)","depth":2,"bounds":{"left":0.19826388,"top":0.05888889,"width":0.19826388,"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.20243056,"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.39652777,"top":0.05888889,"width":0.19791667,"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.40069443,"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.59444445,"top":0.05888889,"width":0.19791667,"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.5986111,"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.79236114,"top":0.05888889,"width":0.19791667,"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.7965278,"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.9618056,"top":0.032222223,"width":0.038194418,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (-zsh)","depth":1,"bounds":{"left":0.47777778,"top":0.033333335,"width":0.05138889,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
2802650493718167367
|
-1358120912881272742
|
idle
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
57003
|
NULL
|
NULL
|
NULL
|
|
57006
|
1985
|
1
|
2026-05-19T08:49:22.955095+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779180562955_m2.jpg...
|
iTerm2
|
APP (-zsh)
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.094913565,"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 (docker)","depth":2,"bounds":{"left":0.36519283,"top":1.0,"width":0.094913565,"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.3671875,"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.46010637,"top":1.0,"width":0.09474734,"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.46210107,"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.55485374,"top":1.0,"width":0.09474734,"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.5568484,"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.64960104,"top":1.0,"width":0.09474734,"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.6515958,"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.7307181,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (-zsh)","depth":1,"bounds":{"left":0.49900267,"top":1.0,"width":0.024601065,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
2802650493718167367
|
-1358120912881272742
|
idle
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
57007
|
1984
|
1
|
2026-05-19T08:49:36.154883+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779180576154_m1.jpg...
|
iTerm2
|
APP (-zsh)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19826388,"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 (docker)","depth":2,"bounds":{"left":0.19826388,"top":0.05888889,"width":0.19826388,"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.20243056,"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}]...
|
2802650493718167367
|
-1358120912881272742
|
idle
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
57003
|
NULL
|
NULL
|
NULL
|
|
57008
|
1985
|
2
|
2026-05-19T08:49:53.280704+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779180593280_m2.jpg...
|
iTerm2
|
APP (-zsh)
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.094913565,"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 (docker)","depth":2,"bounds":{"left":0.36519283,"top":1.0,"width":0.094913565,"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.3671875,"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.46010637,"top":1.0,"width":0.09474734,"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.46210107,"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.55485374,"top":1.0,"width":0.09474734,"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.5568484,"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.64960104,"top":1.0,"width":0.09474734,"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.6515958,"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.7307181,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (-zsh)","depth":1,"bounds":{"left":0.49900267,"top":1.0,"width":0.024601065,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
2802650493718167367
|
-1358120912881272742
|
idle
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
57006
|
NULL
|
NULL
|
NULL
|
|
57009
|
1984
|
2
|
2026-05-19T08:50:06.478025+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779180606478_m1.jpg...
|
iTerm2
|
APP (-zsh)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19826388,"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 (docker)","depth":2,"bounds":{"left":0.19826388,"top":0.05888889,"width":0.19826388,"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.20243056,"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.39652777,"top":0.05888889,"width":0.19791667,"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.40069443,"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.59444445,"top":0.05888889,"width":0.19791667,"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.5986111,"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.79236114,"top":0.05888889,"width":0.19791667,"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.7965278,"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.9618056,"top":0.032222223,"width":0.038194418,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (-zsh)","depth":1,"bounds":{"left":0.47777778,"top":0.033333335,"width":0.05138889,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
2802650493718167367
|
-1358120912881272742
|
idle
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
57003
|
NULL
|
NULL
|
NULL
|
|
57015
|
1984
|
6
|
2026-05-19T08:50:21.412437+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779180621412_m1.jpg...
|
iTerm2
|
APP (docker-debug)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19826388,"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 (docker)","depth":2,"bounds":{"left":0.19826388,"top":0.05888889,"width":0.19826388,"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.20243056,"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 (docker-debug)","depth":2,"bounds":{"left":0.39652777,"top":0.05888889,"width":0.19791667,"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.40069443,"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}]...
|
2802650493718167367
|
-1358120912881272742
|
visual_change
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
57016
|
1985
|
5
|
2026-05-19T08:50:18.854126+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779180618854_m2.jpg...
|
iTerm2
|
APP (-zsh)
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhostormVIewINavicarecodeFV faVsco.js?9 JY-20676-d PhostormVIewINavicarecodeFV faVsco.js?9 JY-20676-delete-report-related-objectsroledeyC ActivityController.ong© AskAnythingController.php> M Auth© AskAnythingPromptService.php© AskAnythingPrompt.phpphp api_v2.php9 ActivitvAskAnythingTest.phpc) Automateakeport.png© ExportControllerRateLimitTest.phporakerropnetcllentone) M Middleware© AskAnythingPrvicelest.pnpx (C search.phpclass ASKAnyth1ngPromptServ1celest extends Testcase>D RequestsInteractionsW InvitationsUNNuseestPrivaterethod.U JODs_ Listenersprivate AskAnvthinaPromotService SaskAnvthinaPromotService:U MCC_ Models31 usaaesprivate AskAnythingRepository&Mock0bject $askAnythingRepository:u Nouricauionso usagesuOroanizauonserinasprivate UserRepository&Mock0bject SuserRepository:4 UsagesPoliciesprivate GroupRepositoryInterface&Mock0bject $groupRepository:Rules3161)protected function setUp: voidf...}a SavedSearchesc SavedSearchcRUdFeatureTest.ondnublic function testGetAskAnythingPromptsl: voldM Search1 ServiceProvidersSuser = Sthis->createMock( originalClassName: User::class):1 ServicesSuser->expects(Sthis->anyO)N TeamsQ CustomerApiFeatureTest.php'getid')->W1LLReturn value: 1© DeactivateUserFeatureTest.phpSuser->expects(Sthis->anyO))© FilterScheduledMeetingsFeatureTest.php"getuuld'NudaeProcessingreature lest.ong@ OrganizationRolesFeatureTest.php$defaultPromot = Sthis->createMock( originalClassName: AskAnvthingPromot::class):© PlanhatServiceFeatureTest.phpaat ScimlsersFeatureTest.phpSdefaultPront->expects(Sthis->once 0)|'aetiwnen')i ToamPetentionPolicvFeaturelest.onoC ThemeTopicUpdateFeatureTest.php$defaultPromot->expects(Sthis->once@)[EMAIL]> D Integration0) Services> D Stubs0 Unit> O Actionsdefault-uuid'Sdefaul tPromot->exnects/component->wal1 Returnd vallpublic function willReturn(mixed svalue.mixed ...SnextvaluesD: Invocat ionMocker•DActionltems→DActivitvImplements: InvocationStubber::willReturnM ActivitvAnalvtics_Smothodt constraint.7 ActivitvSearch• M AiActivitviivoeM AiAutomationIncompatibleReturnValueExceptio>M AiCallScorind•M AckAnvthingl->W1LLReturnsuservondorlnhnunit/nhnunit/cre/c AckAnvthinaPromntServicetect.nhnFramework/MockObject/RuntimeC HistorvServiceTest nhnRuilder/InvocationMocker nhn> M Ack liminnvAduring the call?');teclace).suppont Dally • In sn 10m100% 5• Tue 19 May 11:50:18=laravel.log4 HS_local [jiminny@localhost]& console [PROD]# console [euyCascadeA console [STAGING]CoachinaFeedhackCoachl.Icerin.nhn118146M1 ^ Y 182184186188 Đ1921 193)194195196200201202; 206209210211212-213214215216217218219220- 221222224226Ask Jiminny Report M+0 ..PlavaroundSo jiminny v021 A1 A18 V2 K6 ^ports trom create() and edte( Dros (only Included in list response:SELECT ar.id, ar.uuid, ar.media type, ar.status, a.typeFROM automated_report_results arJOIN automated_reports a ON a.id = ar.report.idWHERE a.type = 'ask_jiminnx'LIMIT 10;SELECT * FROM automated_reports where id = 71;SELECT * FROM automated_report_results where ceport.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 * FROMautomated report results order by id desc:select * from activity searches where user id = 143:select * fronSELECT'automated report results'.* FROM 'automated report resultsiINNER JOIN automated_reports'automated report results','report id' = 'automated reports'.'idiANDautomated report results'. 'generated at' IS NOT NULLautomated_report_results'. 'sent_at' IS NOT NULLANDautomated renorts', team 1d =1AND JSON_CONTAINS( automated_reports'. 'recipients', 143, '$."users""")SELECT * FROM automated renorts where 1d = 67.CELSCT * CP0M automated nenonts whene 1d = 0.SLSCT * CROM ucenc WHEPE 1d = 142• # anaun 2celect * from teame whene id = 7143.celect * from enm confiaunatione whene id = 5AAlselect * from users where name = 'Integration Account': # 1695SELECT * FROMsocial_accounts WHERE sociable_id = 1695;select * from activities where crm_configuration_id = 39and recording state = 'recorded' and duration > 60and status = 'completed' and actual start time >= '2025-12-01':Tests passed: 13AskAnythingPromptService.phpThought for 6sRead AskAnvthinaPromotServiceTest.pho #L44-223AskAnythingPromptServiceTest.php+24 -2Summary of Revisions1. Searchuranstormer now emits has reportsSearchTransformer.nhn: 12_50puoac tunccion transtorm search ssearch. arfayreturn ['1d" = Ssearch→>id stringifilterct e Sthic-saetfilterc/@cearch).You reverted the saoends laccessor on the Search model correctly — addina it would have caused unnecessary querieseverywnere the modells serlallzed. Ine tlag now lves only in the wranstormer used oy uiscaccivitysearch.2. Rethought the prompt DTOYou're riaht - newlv-created and edited oromots will never have related reports, and most existina oromots won't have anvaihor t• Made AskAnythingPromptDto::ShasReports nullable (?bool ShasReports = null).• Oniv included it in toArravo when it is not null — same conditional pattern as ownerid / sharellsers / shareGrouns |• Removed it from create() and edit() DTO construction in AskAnythingPromptService - they always pass nothingnow, so create/uodate responses won't include has reports.•In get(), it stays — calls Sprompt→>gethaskeports() (your renamed accessor) so the list enapoint emits the tlagThis way the per-row exists() auery is onlv run when the list endooint is hit. never on createledit3. Test undatelindatod tectGetAckAnvthingPromntsin AskAnvthingPromotServiceTest.ohp to mock qetHasReports on everyprompt mock and reflect the values (one true, three false) in the expected DTOs. The existing testCreateAskAnythingPromptW1thlwoUsers, testEd1tASKAnyth1ngPrompt, etc. don't need changes — they already construct expected DTOswithout an 8th araument which now matches the null default.SELECT * FROM activities WHERE uuid to_bin(•458cf915-b914-4000-b083-5687632b2956') = uuid:toall «eselect * from leads,SELECT * FROM activities WHERE uuid to_ bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid: # 422003SELECT * FROM activities WHERE id IN (16.422003),Ask anvthing 884-D)<> Code Claude Qnus 1.7 MediumSocket fail to connect to host:address=(host=localhost) (port=3306)(tvpe=primarv). Connection refusedWN Windsurf Teams54-47UTE.8Po 4 spaces...
|
NULL
|
-8888782804015337542
|
NULL
|
click
|
ocr
|
NULL
|
PhostormVIewINavicarecodeFV faVsco.js?9 JY-20676-d PhostormVIewINavicarecodeFV faVsco.js?9 JY-20676-delete-report-related-objectsroledeyC ActivityController.ong© AskAnythingController.php> M Auth© AskAnythingPromptService.php© AskAnythingPrompt.phpphp api_v2.php9 ActivitvAskAnythingTest.phpc) Automateakeport.png© ExportControllerRateLimitTest.phporakerropnetcllentone) M Middleware© AskAnythingPrvicelest.pnpx (C search.phpclass ASKAnyth1ngPromptServ1celest extends Testcase>D RequestsInteractionsW InvitationsUNNuseestPrivaterethod.U JODs_ Listenersprivate AskAnvthinaPromotService SaskAnvthinaPromotService:U MCC_ Models31 usaaesprivate AskAnythingRepository&Mock0bject $askAnythingRepository:u Nouricauionso usagesuOroanizauonserinasprivate UserRepository&Mock0bject SuserRepository:4 UsagesPoliciesprivate GroupRepositoryInterface&Mock0bject $groupRepository:Rules3161)protected function setUp: voidf...}a SavedSearchesc SavedSearchcRUdFeatureTest.ondnublic function testGetAskAnythingPromptsl: voldM Search1 ServiceProvidersSuser = Sthis->createMock( originalClassName: User::class):1 ServicesSuser->expects(Sthis->anyO)N TeamsQ CustomerApiFeatureTest.php'getid')->W1LLReturn value: 1© DeactivateUserFeatureTest.phpSuser->expects(Sthis->anyO))© FilterScheduledMeetingsFeatureTest.php"getuuld'NudaeProcessingreature lest.ong@ OrganizationRolesFeatureTest.php$defaultPromot = Sthis->createMock( originalClassName: AskAnvthingPromot::class):© PlanhatServiceFeatureTest.phpaat ScimlsersFeatureTest.phpSdefaultPront->expects(Sthis->once 0)|'aetiwnen')i ToamPetentionPolicvFeaturelest.onoC ThemeTopicUpdateFeatureTest.php$defaultPromot->expects(Sthis->once@)[EMAIL]> D Integration0) Services> D Stubs0 Unit> O Actionsdefault-uuid'Sdefaul tPromot->exnects/component->wal1 Returnd vallpublic function willReturn(mixed svalue.mixed ...SnextvaluesD: Invocat ionMocker•DActionltems→DActivitvImplements: InvocationStubber::willReturnM ActivitvAnalvtics_Smothodt constraint.7 ActivitvSearch• M AiActivitviivoeM AiAutomationIncompatibleReturnValueExceptio>M AiCallScorind•M AckAnvthingl->W1LLReturnsuservondorlnhnunit/nhnunit/cre/c AckAnvthinaPromntServicetect.nhnFramework/MockObject/RuntimeC HistorvServiceTest nhnRuilder/InvocationMocker nhn> M Ack liminnvAduring the call?');teclace).suppont Dally • In sn 10m100% 5• Tue 19 May 11:50:18=laravel.log4 HS_local [jiminny@localhost]& console [PROD]# console [euyCascadeA console [STAGING]CoachinaFeedhackCoachl.Icerin.nhn118146M1 ^ Y 182184186188 Đ1921 193)194195196200201202; 206209210211212-213214215216217218219220- 221222224226Ask Jiminny Report M+0 ..PlavaroundSo jiminny v021 A1 A18 V2 K6 ^ports trom create() and edte( Dros (only Included in list response:SELECT ar.id, ar.uuid, ar.media type, ar.status, a.typeFROM automated_report_results arJOIN automated_reports a ON a.id = ar.report.idWHERE a.type = 'ask_jiminnx'LIMIT 10;SELECT * FROM automated_reports where id = 71;SELECT * FROM automated_report_results where ceport.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 * FROMautomated report results order by id desc:select * from activity searches where user id = 143:select * fronSELECT'automated report results'.* FROM 'automated report resultsiINNER JOIN automated_reports'automated report results','report id' = 'automated reports'.'idiANDautomated report results'. 'generated at' IS NOT NULLautomated_report_results'. 'sent_at' IS NOT NULLANDautomated renorts', team 1d =1AND JSON_CONTAINS( automated_reports'. 'recipients', 143, '$."users""")SELECT * FROM automated renorts where 1d = 67.CELSCT * CP0M automated nenonts whene 1d = 0.SLSCT * CROM ucenc WHEPE 1d = 142• # anaun 2celect * from teame whene id = 7143.celect * from enm confiaunatione whene id = 5AAlselect * from users where name = 'Integration Account': # 1695SELECT * FROMsocial_accounts WHERE sociable_id = 1695;select * from activities where crm_configuration_id = 39and recording state = 'recorded' and duration > 60and status = 'completed' and actual start time >= '2025-12-01':Tests passed: 13AskAnythingPromptService.phpThought for 6sRead AskAnvthinaPromotServiceTest.pho #L44-223AskAnythingPromptServiceTest.php+24 -2Summary of Revisions1. Searchuranstormer now emits has reportsSearchTransformer.nhn: 12_50puoac tunccion transtorm search ssearch. arfayreturn ['1d" = Ssearch→>id stringifilterct e Sthic-saetfilterc/@cearch).You reverted the saoends laccessor on the Search model correctly — addina it would have caused unnecessary querieseverywnere the modells serlallzed. Ine tlag now lves only in the wranstormer used oy uiscaccivitysearch.2. Rethought the prompt DTOYou're riaht - newlv-created and edited oromots will never have related reports, and most existina oromots won't have anvaihor t• Made AskAnythingPromptDto::ShasReports nullable (?bool ShasReports = null).• Oniv included it in toArravo when it is not null — same conditional pattern as ownerid / sharellsers / shareGrouns |• Removed it from create() and edit() DTO construction in AskAnythingPromptService - they always pass nothingnow, so create/uodate responses won't include has reports.•In get(), it stays — calls Sprompt→>gethaskeports() (your renamed accessor) so the list enapoint emits the tlagThis way the per-row exists() auery is onlv run when the list endooint is hit. never on createledit3. Test undatelindatod tectGetAckAnvthingPromntsin AskAnvthingPromotServiceTest.ohp to mock qetHasReports on everyprompt mock and reflect the values (one true, three false) in the expected DTOs. The existing testCreateAskAnythingPromptW1thlwoUsers, testEd1tASKAnyth1ngPrompt, etc. don't need changes — they already construct expected DTOswithout an 8th araument which now matches the null default.SELECT * FROM activities WHERE uuid to_bin(•458cf915-b914-4000-b083-5687632b2956') = uuid:toall «eselect * from leads,SELECT * FROM activities WHERE uuid to_ bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid: # 422003SELECT * FROM activities WHERE id IN (16.422003),Ask anvthing 884-D)<> Code Claude Qnus 1.7 MediumSocket fail to connect to host:address=(host=localhost) (port=3306)(tvpe=primarv). Connection refusedWN Windsurf Teams54-47UTE.8Po 4 spaces...
|
57013
|
NULL
|
NULL
|
NULL
|
|
57080
|
NULL
|
0
|
2026-05-19T08:53:42.022696+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779180822022_m1.jpg...
|
iTerm2
|
APP (-zsh)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git sta","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git sta","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19826388,"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 (docker)","depth":2,"bounds":{"left":0.19826388,"top":0.05888889,"width":0.19826388,"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.20243056,"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.39652777,"top":0.05888889,"width":0.19791667,"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.40069443,"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":"ffmpeg","depth":2,"bounds":{"left":0.59444445,"top":0.05888889,"width":0.19791667,"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.5986111,"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.79236114,"top":0.05888889,"width":0.19791667,"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.7965278,"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.9618056,"top":0.032222223,"width":0.038194418,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (-zsh)","depth":1,"bounds":{"left":0.47777778,"top":0.033333335,"width":0.05138889,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
2802650493718167367
|
-1358120912881272742
|
click
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
57082
|
NULL
|
0
|
2026-05-19T08:53:43.146146+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779180823146_m2.jpg...
|
iTerm2
|
APP (-zsh)
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.094913565,"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 (docker)","depth":2,"bounds":{"left":0.36519283,"top":1.0,"width":0.094913565,"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.3671875,"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 (git)","depth":2,"bounds":{"left":0.46010637,"top":1.0,"width":0.09474734,"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.46210107,"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":"ffmpeg","depth":2,"bounds":{"left":0.55485374,"top":1.0,"width":0.09474734,"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.5568484,"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.64960104,"top":1.0,"width":0.09474734,"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.6515958,"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.7307181,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (git)","depth":1,"bounds":{"left":0.5006649,"top":1.0,"width":0.020944148,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
2802650493718167367
|
-1358120912881272742
|
click
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
57266
|
2003
|
8
|
2026-05-19T09:43:32.175187+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779183812175_m2.jpg...
|
iTerm2
|
APP (-zsh)
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.094913565,"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 (docker)","depth":2,"bounds":{"left":0.36519283,"top":1.0,"width":0.094913565,"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.3671875,"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.46010637,"top":1.0,"width":0.09474734,"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.46210107,"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.55485374,"top":1.0,"width":0.09474734,"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.5568484,"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.64960104,"top":1.0,"width":0.09474734,"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.6515958,"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}]...
|
2802650493718167367
|
-1358120912881272742
|
click
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
57267
|
2002
|
9
|
2026-05-19T09:43:32.149773+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779183812149_m1.jpg...
|
iTerm2
|
APP (-zsh)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1D SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1DEV (docker)Copyright (c) The PHP GroupZend Engine v4.3.30, Copyright (c) Zend Technologieswith Zend OPcache v8.3.30, Copyright (C), by Zend Technologies₴82APP (-zs.What's next:Try Docker Debug for seamless, persistentdebugging tools in any containerorimage →Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20676-delete-report-related-obEnumerating objects: 45, done.Counting objects: 100% (45/45), done.Delta compression using up to 8 threadsCompressing objects: 100% (24/24), done.Writing objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.Total 24 (delta 19), reused 0 (delta 0), pack-reused 0remote: Resolving deltas: 100% (19/19), completed with 19 local objects.remote:remote: Create a pullrequest for 'JY-20676-delete-report-related-objects'on GitHub by viremote:[URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20676-delete-report-related-obHomeDMsActivityFilesLater..•More•ED→Jiminny... vscnicrat# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messages8. Nikolay Yankov€. Vasil VasilevP. Galya Dimitrova MP. Aneliya Angelovaa. Stefka StoyanovaStoyan Tomov6 Todor Stamatov "o Mario Georgiev. Nikolay Ivanovdo James GrahamStoyan TanevLukas Kovalik y…..l:: AppsJira CloudToast§ Support Daily • in 2h 17 m100% (8•Tue 19 May 12:43:32Describe what you are looking forNikolay Yankov6 0• MessagesдаAdd canvasLukas Kovalik 12.20 nkToday@ Files+Nikolay Yankov 12:40 PMсуперLukas Kovalik 12:40 PMами false ако няма репортако има ще e trueно реално то ще пречи ли сегаNikolay Yankov 12:41 PMхмм, че тези промптс не са ли само в кейса наon_demand, т.e. за всеки вид чат - на call, на deal,на паморама да са различни промптовете?защото трябва само на panorama да. показваметази логика с модала и триенетоLukas Kovalik 12:42 PMами не знам по-скоро се чудя ако e AJ na activity.и има промпттози ако се ползва при репортитепак трябва да го покажем warning (edited)не знам дали може такада се споделятNikolay Yankov 12:43 PMсега пробвах през Ul като switch-вам отпанорама на call, виждам различни промптовеMessage Nikolay Yankov+...
|
NULL
|
-7780294112356440878
|
NULL
|
click
|
ocr
|
NULL
|
SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1D SlackFileEditViewGoHistoryWindowHelpAPPDOCKER• ₴1DEV (docker)Copyright (c) The PHP GroupZend Engine v4.3.30, Copyright (c) Zend Technologieswith Zend OPcache v8.3.30, Copyright (C), by Zend Technologies₴82APP (-zs.What's next:Try Docker Debug for seamless, persistentdebugging tools in any containerorimage →Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20676-delete-report-related-obEnumerating objects: 45, done.Counting objects: 100% (45/45), done.Delta compression using up to 8 threadsCompressing objects: 100% (24/24), done.Writing objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.Total 24 (delta 19), reused 0 (delta 0), pack-reused 0remote: Resolving deltas: 100% (19/19), completed with 19 local objects.remote:remote: Create a pullrequest for 'JY-20676-delete-report-related-objects'on GitHub by viremote:[URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20676-delete-report-related-obHomeDMsActivityFilesLater..•More•ED→Jiminny... vscnicrat# jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the_people_of jimi...• Direct messages8. Nikolay Yankov€. Vasil VasilevP. Galya Dimitrova MP. Aneliya Angelovaa. Stefka StoyanovaStoyan Tomov6 Todor Stamatov "o Mario Georgiev. Nikolay Ivanovdo James GrahamStoyan TanevLukas Kovalik y…..l:: AppsJira CloudToast§ Support Daily • in 2h 17 m100% (8•Tue 19 May 12:43:32Describe what you are looking forNikolay Yankov6 0• MessagesдаAdd canvasLukas Kovalik 12.20 nkToday@ Files+Nikolay Yankov 12:40 PMсуперLukas Kovalik 12:40 PMами false ако няма репортако има ще e trueно реално то ще пречи ли сегаNikolay Yankov 12:41 PMхмм, че тези промптс не са ли само в кейса наon_demand, т.e. за всеки вид чат - на call, на deal,на паморама да са различни промптовете?защото трябва само на panorama да. показваметази логика с модала и триенетоLukas Kovalik 12:42 PMами не знам по-скоро се чудя ако e AJ na activity.и има промпттози ако се ползва при репортитепак трябва да го покажем warning (edited)не знам дали може такада се споделятNikolay Yankov 12:43 PMсега пробвах през Ul като switch-вам отпанорама на call, виждам различни промптовеMessage Nikolay Yankov+...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
57269
|
2002
|
11
|
2026-05-19T09:43:36.437946+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779183816437_m1.jpg...
|
iTerm2
|
APP (-zsh)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19826388,"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 (docker)","depth":2,"bounds":{"left":0.19826388,"top":0.05888889,"width":0.19826388,"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.20243056,"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.39652777,"top":0.05888889,"width":0.19791667,"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.40069443,"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.59444445,"top":0.05888889,"width":0.19791667,"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.5986111,"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.79236114,"top":0.05888889,"width":0.19791667,"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.7965278,"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.9618056,"top":0.032222223,"width":0.038194418,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (-zsh)","depth":1,"bounds":{"left":0.47777778,"top":0.033333335,"width":0.05138889,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
2802650493718167367
|
-1358120912881272742
|
visual_change
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
57541
|
2012
|
30
|
2026-05-19T10:08:13.380099+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779185293380_m1.jpg...
|
iTerm2
|
APP (-zsh)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19826388,"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 (docker)","depth":2,"bounds":{"left":0.19826388,"top":0.05888889,"width":0.19826388,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
2802650493718167367
|
-1358120912881272742
|
visual_change
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
57542
|
2013
|
18
|
2026-05-19T10:08:11.384299+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779185291384_m2.jpg...
|
iTerm2
|
APP (-zsh)
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStormFV faVsco.js vProjectViewINavicareCode%9 J PhpStormFV faVsco.js vProjectViewINavicareCode%9 JY-20676-delete-report-related-objeLaravelKeractorTOOIS® ActivityController.phpAskAnytingPromptserwice.ongWindow© ActivityV2Controller.php© AskAnythingPrompt.phpphp api_v2.php©AskAnythingController.php© AskJIminnykeporscontroller.ongc Dealsvzcontroller.onp© OnDemandV2Controller.phpPlavlistController.phpPlaylistShareController.php1226PlavlistTrackController.php© AskAnythingPromptServiceTest.phpclass ASkJ1minnyReportscontroller extends controllerpublic function togglestatus(Request Srequest, string Suuid) : JsonResponse/** @var User $user */©TranscriptionSummaryController.plc) UploadController.phpC)Actionitemscontroller.php131@ ActivityController.php© AiCrmNotesController.phpc) Basecontrolller.ono© ClientTokenController.phpC) CrmController.oho© DealLevelPromptsController.php©DealRiskController.php©InstantMeetingController.php©LanguageController.phpif (Senabled && Sreport->isAskJiminnyReport() && ! Sreport->canExecute()) €© LayoutManagementController.phpsenr© LiveFeedController.php©MeetingsController.php© MessageController.php©MetadataController.phpPS© MobileSettingsController.php© MomentController.php© NudgeController.php© NumberAllocatorController.php147248© OrganizationLicensesController.php$report,OrganizationMembersController.php© OrganizationRetentionPolicyControllerc) OrganizationRolescontroller.phg© OrganizationSyncController.php@ PartnerController.ohr©PhoneNumberController.phpreturn new JsonResponse(l'error' => $e-›getMessage()],@ PlavbackController.ohp© PlaylistController.php@ ScimController.php© SidekickController.phpg) SoftohoneController.nhn© SsoController.php© SubscriptionController.php© TeamAiAutomationController.phpC) TeamAiConteytController.nhnlTeamController.phpstatus: Response::HTTP_INTERNAL_SERVER_ERROR© TeaminsightsController.php© TranscriptionController.php) TranciationControllor nhnl@ UserController.php170© VocabularyController.phpM Anth*Iist alt Ack liminnu nenonts.ted: JY-20676 delete AJ reports related objects // Edit Commit Message... (today 11:53)A console (PROD]# console [euyfajiminnyLalbl8 XL XbA183184186188status: Response::HTTP_NOT_FOUN 191LIMIT 10;S0 lobl"supoont Dally • In 1h o2mAskAnythingPromptServiceTest100% 5&• Tue 19 May 13:08:10CascadeAsk Jiminny Report M+0..the message should be the same. Just make it in accepoted chars per lineThoughts >• AskJiminnyReportsController.phpInoughts+2 -1All tasks complete. Error message split to respect 120-char line limit.04l **nt results order by 1d desc196Nlolal$1Wispr Flow219220222223SELECT * FROM automated_reports where id = 67;SELECT * FROM automated_reports where id = 42;SELECT * FROM users WHERE id = 143; # group 28select * from crm_configurations where id = 500;select * from users where name = 'Integration Account': # 1695select * from activities where crm_configuration_id = 39'recorded' and duration > 60nd status = 'combleted'and actual_start_time >= '2025-12-01';SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;select * from leads:225SELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid; # 422003SELECT * FROM activities WHERE id IN (16,422003);Socket fail to connect to host:address=(host=localhost) (port=3306)(type=primary). Connection refusedAsk anvthina (&4-L)WN Windsurf Toams 146-10UTF.8f?4 spaces...
|
NULL
|
9070701261974153312
|
NULL
|
visual_change
|
ocr
|
NULL
|
PhpStormFV faVsco.js vProjectViewINavicareCode%9 J PhpStormFV faVsco.js vProjectViewINavicareCode%9 JY-20676-delete-report-related-objeLaravelKeractorTOOIS® ActivityController.phpAskAnytingPromptserwice.ongWindow© ActivityV2Controller.php© AskAnythingPrompt.phpphp api_v2.php©AskAnythingController.php© AskJIminnykeporscontroller.ongc Dealsvzcontroller.onp© OnDemandV2Controller.phpPlavlistController.phpPlaylistShareController.php1226PlavlistTrackController.php© AskAnythingPromptServiceTest.phpclass ASkJ1minnyReportscontroller extends controllerpublic function togglestatus(Request Srequest, string Suuid) : JsonResponse/** @var User $user */©TranscriptionSummaryController.plc) UploadController.phpC)Actionitemscontroller.php131@ ActivityController.php© AiCrmNotesController.phpc) Basecontrolller.ono© ClientTokenController.phpC) CrmController.oho© DealLevelPromptsController.php©DealRiskController.php©InstantMeetingController.php©LanguageController.phpif (Senabled && Sreport->isAskJiminnyReport() && ! Sreport->canExecute()) €© LayoutManagementController.phpsenr© LiveFeedController.php©MeetingsController.php© MessageController.php©MetadataController.phpPS© MobileSettingsController.php© MomentController.php© NudgeController.php© NumberAllocatorController.php147248© OrganizationLicensesController.php$report,OrganizationMembersController.php© OrganizationRetentionPolicyControllerc) OrganizationRolescontroller.phg© OrganizationSyncController.php@ PartnerController.ohr©PhoneNumberController.phpreturn new JsonResponse(l'error' => $e-›getMessage()],@ PlavbackController.ohp© PlaylistController.php@ ScimController.php© SidekickController.phpg) SoftohoneController.nhn© SsoController.php© SubscriptionController.php© TeamAiAutomationController.phpC) TeamAiConteytController.nhnlTeamController.phpstatus: Response::HTTP_INTERNAL_SERVER_ERROR© TeaminsightsController.php© TranscriptionController.php) TranciationControllor nhnl@ UserController.php170© VocabularyController.phpM Anth*Iist alt Ack liminnu nenonts.ted: JY-20676 delete AJ reports related objects // Edit Commit Message... (today 11:53)A console (PROD]# console [euyfajiminnyLalbl8 XL XbA183184186188status: Response::HTTP_NOT_FOUN 191LIMIT 10;S0 lobl"supoont Dally • In 1h o2mAskAnythingPromptServiceTest100% 5&• Tue 19 May 13:08:10CascadeAsk Jiminny Report M+0..the message should be the same. Just make it in accepoted chars per lineThoughts >• AskJiminnyReportsController.phpInoughts+2 -1All tasks complete. Error message split to respect 120-char line limit.04l **nt results order by 1d desc196Nlolal$1Wispr Flow219220222223SELECT * FROM automated_reports where id = 67;SELECT * FROM automated_reports where id = 42;SELECT * FROM users WHERE id = 143; # group 28select * from crm_configurations where id = 500;select * from users where name = 'Integration Account': # 1695select * from activities where crm_configuration_id = 39'recorded' and duration > 60nd status = 'combleted'and actual_start_time >= '2025-12-01';SELECT * FROM activities WHERE uuid_to_bin('458cf915-b914-4000-b083-5687b32b2956') = uuid;select * from leads:225SELECT * FROM activities WHERE uuid_to_bin('f43cf158-e60d-46e5-92f8-c4e0594a3219') = uuid; # 422003SELECT * FROM activities WHERE id IN (16,422003);Socket fail to connect to host:address=(host=localhost) (port=3306)(type=primary). Connection refusedAsk anvthina (&4-L)WN Windsurf Toams 146-10UTF.8f?4 spaces...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
57543
|
2012
|
31
|
2026-05-19T10:08:14.389669+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779185294389_m1.jpg...
|
iTerm2
|
DEV (docker)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys006
Poetry Last login: Mon May 18 09:17:28 on ttys006
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ dev
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug redis-set
Testing Redis SET with PhpRedis syntax...
✅ Redis SET with PhpRedis syntax succeeded
Key: test:ratelimit:1779099716
Value: 1779099776
TTL: 60 seconds
Retrieved value: 1779099776
✅ Test key deleted
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug redis-set
Testing Redis SET with PhpRedis syntax...
TypeError
Cannot access offset of type array on array
at vendor/laravel/framework/src/Illuminate/Redis/Connections/PhpRedisConnection.php:87
83▕ {
84▕ return $this->command('set', [
85▕ $key,
86▕ $value,
➜ 87▕ $expireResolution ? [$flag, $expireResolution => $expireTTL] : null,
88▕ ]);
89▕ }
90▕
91▕ /**
+2 vendor frames
3 app/Console/Commands/JiminnyDebugCommand.php:49
Illuminate\Support\Facades\Facade::__callStatic("set")
4 app/Console/Commands/JiminnyDebugCommand.php:25
Jiminny\Console\Commands\JiminnyDebugCommand::testRedisSet()
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 [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20676-delete-report-related-objects) $ dev
root@docker_lamp_1:/home/jiminny#...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys006\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ dev\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug redis-set\nTesting Redis SET with PhpRedis syntax...\n✅\u0000 Redis SET with PhpRedis syntax succeeded\nKey: test:ratelimit:1779099716\nValue: 1779099776\nTTL: 60 seconds\nRetrieved value: 1779099776\n✅\u0000 Test key deleted\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug redis-set\nTesting Redis SET with PhpRedis syntax...\n\n TypeError \n\n Cannot access offset of type array on array\n\n at vendor/laravel/framework/src/Illuminate/Redis/Connections/PhpRedisConnection.php:87\n 83▕ {\n 84▕ return $this->command('set', [\n 85▕ $key,\n 86▕ $value,\n ➜ 87▕ $expireResolution ? [$flag, $expireResolution => $expireTTL] : null,\n 88▕ ]);\n 89▕ }\n 90▕ \n 91▕ /**\n\n +2 vendor frames \n\n 3 app/Console/Commands/JiminnyDebugCommand.php:49\n Illuminate\\Support\\Facades\\Facade::__callStatic(\"set\")\n\n 4 app/Console/Commands/JiminnyDebugCommand.php:25\n Jiminny\\Console\\Commands\\JiminnyDebugCommand::testRedisSet()\n\nroot@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 (master) $ dev\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug /bin/bash\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker: 'docker exec' requires at least 2 arguments\n\nUsage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...]\n\nSee 'docker exec --help' for more information\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ dev\nroot@docker_lamp_1:/home/jiminny#","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys006\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ dev\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug redis-set\nTesting Redis SET with PhpRedis syntax...\n✅\u0000 Redis SET with PhpRedis syntax succeeded\nKey: test:ratelimit:1779099716\nValue: 1779099776\nTTL: 60 seconds\nRetrieved value: 1779099776\n✅\u0000 Test key deleted\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug redis-set\nTesting Redis SET with PhpRedis syntax...\n\n TypeError \n\n Cannot access offset of type array on array\n\n at vendor/laravel/framework/src/Illuminate/Redis/Connections/PhpRedisConnection.php:87\n 83▕ {\n 84▕ return $this->command('set', [\n 85▕ $key,\n 86▕ $value,\n ➜ 87▕ $expireResolution ? [$flag, $expireResolution => $expireTTL] : null,\n 88▕ ]);\n 89▕ }\n 90▕ \n 91▕ /**\n\n +2 vendor frames \n\n 3 app/Console/Commands/JiminnyDebugCommand.php:49\n Illuminate\\Support\\Facades\\Facade::__callStatic(\"set\")\n\n 4 app/Console/Commands/JiminnyDebugCommand.php:25\n Jiminny\\Console\\Commands\\JiminnyDebugCommand::testRedisSet()\n\nroot@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 (master) $ dev\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug /bin/bash\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker: 'docker exec' requires at least 2 arguments\n\nUsage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...]\n\nSee 'docker exec --help' for more information\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ dev\nroot@docker_lamp_1:/home/jiminny#","is_focused":true}]...
|
-5429495206674892463
|
-2187642219517769081
|
click
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys006
Poetry Last login: Mon May 18 09:17:28 on ttys006
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ dev
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug redis-set
Testing Redis SET with PhpRedis syntax...
✅ Redis SET with PhpRedis syntax succeeded
Key: test:ratelimit:1779099716
Value: 1779099776
TTL: 60 seconds
Retrieved value: 1779099776
✅ Test key deleted
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug redis-set
Testing Redis SET with PhpRedis syntax...
TypeError
Cannot access offset of type array on array
at vendor/laravel/framework/src/Illuminate/Redis/Connections/PhpRedisConnection.php:87
83▕ {
84▕ return $this->command('set', [
85▕ $key,
86▕ $value,
➜ 87▕ $expireResolution ? [$flag, $expireResolution => $expireTTL] : null,
88▕ ]);
89▕ }
90▕
91▕ /**
+2 vendor frames
3 app/Console/Commands/JiminnyDebugCommand.php:49
Illuminate\Support\Facades\Facade::__callStatic("set")
4 app/Console/Commands/JiminnyDebugCommand.php:25
Jiminny\Console\Commands\JiminnyDebugCommand::testRedisSet()
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 [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20676-delete-report-related-objects) $ dev
root@docker_lamp_1:/home/jiminny#...
|
57541
|
NULL
|
NULL
|
NULL
|
|
57544
|
2013
|
19
|
2026-05-19T10:08:14.581352+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779185294581_m2.jpg...
|
iTerm2
|
DEV (docker)
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys006
Poetry Last login: Mon May 18 09:17:28 on ttys006
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ dev
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug redis-set
Testing Redis SET with PhpRedis syntax...
✅ Redis SET with PhpRedis syntax succeeded
Key: test:ratelimit:1779099716
Value: 1779099776
TTL: 60 seconds
Retrieved value: 1779099776
✅ Test key deleted
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug redis-set
Testing Redis SET with PhpRedis syntax...
TypeError
Cannot access offset of type array on array
at vendor/laravel/framework/src/Illuminate/Redis/Connections/PhpRedisConnection.php:87
83▕ {
84▕ return $this->command('set', [
85▕ $key,
86▕ $value,
➜ 87▕ $expireResolution ? [$flag, $expireResolution => $expireTTL] : null,
88▕ ]);
89▕ }
90▕
91▕ /**
+2 vendor frames
3 app/Console/Commands/JiminnyDebugCommand.php:49
Illuminate\Support\Facades\Facade::__callStatic("set")
4 app/Console/Commands/JiminnyDebugCommand.php:25
Jiminny\Console\Commands\JiminnyDebugCommand::testRedisSet()
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 [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20676-delete-report-related-objects) $ dev
root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
⌥⌘1
DEV (docker)...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys006\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ dev\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug redis-set\nTesting Redis SET with PhpRedis syntax...\n✅\u0000 Redis SET with PhpRedis syntax succeeded\nKey: test:ratelimit:1779099716\nValue: 1779099776\nTTL: 60 seconds\nRetrieved value: 1779099776\n✅\u0000 Test key deleted\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug redis-set\nTesting Redis SET with PhpRedis syntax...\n\n TypeError \n\n Cannot access offset of type array on array\n\n at vendor/laravel/framework/src/Illuminate/Redis/Connections/PhpRedisConnection.php:87\n 83▕ {\n 84▕ return $this->command('set', [\n 85▕ $key,\n 86▕ $value,\n ➜ 87▕ $expireResolution ? [$flag, $expireResolution => $expireTTL] : null,\n 88▕ ]);\n 89▕ }\n 90▕ \n 91▕ /**\n\n +2 vendor frames \n\n 3 app/Console/Commands/JiminnyDebugCommand.php:49\n Illuminate\\Support\\Facades\\Facade::__callStatic(\"set\")\n\n 4 app/Console/Commands/JiminnyDebugCommand.php:25\n Jiminny\\Console\\Commands\\JiminnyDebugCommand::testRedisSet()\n\nroot@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 (master) $ dev\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug /bin/bash\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker: 'docker exec' requires at least 2 arguments\n\nUsage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...]\n\nSee 'docker exec --help' for more information\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ dev\nroot@docker_lamp_1:/home/jiminny#","depth":4,"bounds":{"left":0.27027926,"top":0.9050279,"width":0.4820479,"height":0.094972074},"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys006\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ dev\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug redis-set\nTesting Redis SET with PhpRedis syntax...\n✅\u0000 Redis SET with PhpRedis syntax succeeded\nKey: test:ratelimit:1779099716\nValue: 1779099776\nTTL: 60 seconds\nRetrieved value: 1779099776\n✅\u0000 Test key deleted\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug redis-set\nTesting Redis SET with PhpRedis syntax...\n\n TypeError \n\n Cannot access offset of type array on array\n\n at vendor/laravel/framework/src/Illuminate/Redis/Connections/PhpRedisConnection.php:87\n 83▕ {\n 84▕ return $this->command('set', [\n 85▕ $key,\n 86▕ $value,\n ➜ 87▕ $expireResolution ? [$flag, $expireResolution => $expireTTL] : null,\n 88▕ ]);\n 89▕ }\n 90▕ \n 91▕ /**\n\n +2 vendor frames \n\n 3 app/Console/Commands/JiminnyDebugCommand.php:49\n Illuminate\\Support\\Facades\\Facade::__callStatic(\"set\")\n\n 4 app/Console/Commands/JiminnyDebugCommand.php:25\n Jiminny\\Console\\Commands\\JiminnyDebugCommand::testRedisSet()\n\nroot@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 (master) $ dev\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug /bin/bash\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker: 'docker exec' requires at least 2 arguments\n\nUsage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...]\n\nSee 'docker exec --help' for more information\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ dev\nroot@docker_lamp_1:/home/jiminny#","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.094913565,"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 (docker)","depth":2,"bounds":{"left":0.36519283,"top":1.0,"width":0.094913565,"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.3671875,"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.46010637,"top":1.0,"width":0.09474734,"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.46210107,"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.55485374,"top":1.0,"width":0.09474734,"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.5568484,"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.64960104,"top":1.0,"width":0.09474734,"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.6515958,"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.7307181,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"DEV (docker)","depth":1,"bounds":{"left":0.49634308,"top":1.0,"width":0.029920213,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
6054082818744320838
|
-2187624627331724665
|
click
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys006
Poetry Last login: Mon May 18 09:17:28 on ttys006
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ dev
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug redis-set
Testing Redis SET with PhpRedis syntax...
✅ Redis SET with PhpRedis syntax succeeded
Key: test:ratelimit:1779099716
Value: 1779099776
TTL: 60 seconds
Retrieved value: 1779099776
✅ Test key deleted
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug redis-set
Testing Redis SET with PhpRedis syntax...
TypeError
Cannot access offset of type array on array
at vendor/laravel/framework/src/Illuminate/Redis/Connections/PhpRedisConnection.php:87
83▕ {
84▕ return $this->command('set', [
85▕ $key,
86▕ $value,
➜ 87▕ $expireResolution ? [$flag, $expireResolution => $expireTTL] : null,
88▕ ]);
89▕ }
90▕
91▕ /**
+2 vendor frames
3 app/Console/Commands/JiminnyDebugCommand.php:49
Illuminate\Support\Facades\Facade::__callStatic("set")
4 app/Console/Commands/JiminnyDebugCommand.php:25
Jiminny\Console\Commands\JiminnyDebugCommand::testRedisSet()
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 [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20676-delete-report-related-objects) $ dev
root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
screenpipe"
Close Tab
-zsh
Close Tab
⌥⌘1
DEV (docker)...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
57545
|
2012
|
32
|
2026-05-19T10:08:15.805330+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779185295805_m1.jpg...
|
iTerm2
|
APP (-zsh)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19826388,"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 (docker)","depth":2,"bounds":{"left":0.19826388,"top":0.05888889,"width":0.19826388,"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.20243056,"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.39652777,"top":0.05888889,"width":0.19791667,"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.40069443,"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.59444445,"top":0.05888889,"width":0.19791667,"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.5986111,"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.79236114,"top":0.05888889,"width":0.19791667,"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.7965278,"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.9618056,"top":0.032222223,"width":0.038194418,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (-zsh)","depth":1,"bounds":{"left":0.47777778,"top":0.033333335,"width":0.05138889,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
2802650493718167367
|
-1358120912881272742
|
click
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
57546
|
2013
|
20
|
2026-05-19T10:08:15.772315+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779185295772_m2.jpg...
|
iTerm2
|
APP (-zsh)
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.094913565,"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 (docker)","depth":2,"bounds":{"left":0.36519283,"top":1.0,"width":0.094913565,"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.3671875,"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.46010637,"top":1.0,"width":0.09474734,"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.46210107,"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.55485374,"top":1.0,"width":0.09474734,"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.5568484,"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.64960104,"top":1.0,"width":0.09474734,"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.6515958,"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.7307181,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (-zsh)","depth":1,"bounds":{"left":0.49900267,"top":1.0,"width":0.024601065,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
2802650493718167367
|
-1358120912881272742
|
click
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
57544
|
NULL
|
NULL
|
NULL
|
|
57547
|
2013
|
21
|
2026-05-19T10:08:46.159584+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779185326159_m2.jpg...
|
iTerm2
|
APP (docker)
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.094913565,"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 (docker)","depth":2,"bounds":{"left":0.36519283,"top":1.0,"width":0.094913565,"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.3671875,"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 (docker)","depth":2,"bounds":{"left":0.46010637,"top":1.0,"width":0.09474734,"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.46210107,"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.55485374,"top":1.0,"width":0.09474734,"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.5568484,"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.64960104,"top":1.0,"width":0.09474734,"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.6515958,"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.7307181,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (docker)","depth":1,"bounds":{"left":0.49634308,"top":1.0,"width":0.029920213,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
2802650493718167367
|
-1358120912881272742
|
idle
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
57548
|
2012
|
33
|
2026-05-19T10:08:52.482179+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779185332482_m1.jpg...
|
iTerm2
|
APP (docker)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19826388,"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 (docker)","depth":2,"bounds":{"left":0.19826388,"top":0.05888889,"width":0.19826388,"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.20243056,"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 (docker)","depth":2,"bounds":{"left":0.39652777,"top":0.05888889,"width":0.19791667,"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.40069443,"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.59444445,"top":0.05888889,"width":0.19791667,"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.5986111,"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.79236114,"top":0.05888889,"width":0.19791667,"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.7965278,"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.9618056,"top":0.032222223,"width":0.038194418,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (docker)","depth":1,"bounds":{"left":0.4722222,"top":0.033333335,"width":0.0625,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
2802650493718167367
|
-1358120912881272742
|
idle
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
57545
|
NULL
|
NULL
|
NULL
|
|
57549
|
NULL
|
0
|
2026-05-19T10:09:16.505448+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779185356505_m2.jpg...
|
iTerm2
|
APP (docker)
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.094913565,"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 (docker)","depth":2,"bounds":{"left":0.36519283,"top":1.0,"width":0.094913565,"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.3671875,"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 (docker)","depth":2,"bounds":{"left":0.46010637,"top":1.0,"width":0.09474734,"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.46210107,"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.55485374,"top":1.0,"width":0.09474734,"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.5568484,"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.64960104,"top":1.0,"width":0.09474734,"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.6515958,"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.7307181,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (docker)","depth":1,"bounds":{"left":0.49634308,"top":1.0,"width":0.029920213,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
2802650493718167367
|
-1358120912881272742
|
idle
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
57547
|
NULL
|
NULL
|
NULL
|
|
57550
|
NULL
|
0
|
2026-05-19T10:09:22.594132+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779185362594_m1.jpg...
|
iTerm2
|
APP (docker)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19826388,"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 (docker)","depth":2,"bounds":{"left":0.19826388,"top":0.05888889,"width":0.19826388,"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.20243056,"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 (docker)","depth":2,"bounds":{"left":0.39652777,"top":0.05888889,"width":0.19791667,"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.40069443,"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.59444445,"top":0.05888889,"width":0.19791667,"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.5986111,"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.79236114,"top":0.05888889,"width":0.19791667,"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.7965278,"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.9618056,"top":0.032222223,"width":0.038194418,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (docker)","depth":1,"bounds":{"left":0.4722222,"top":0.033333335,"width":0.0625,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
2802650493718167367
|
-1358120912881272742
|
idle
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
57545
|
NULL
|
NULL
|
NULL
|
|
57551
|
2015
|
0
|
2026-05-19T10:09:46.807641+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779185386807_m2.jpg...
|
iTerm2
|
APP (docker)
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 0/5690 [░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 0%","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 0/5690 [░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 0%","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.094913565,"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 (docker)","depth":2,"bounds":{"left":0.36519283,"top":1.0,"width":0.094913565,"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.3671875,"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 (docker)","depth":2,"bounds":{"left":0.46010637,"top":1.0,"width":0.09474734,"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.46210107,"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.55485374,"top":1.0,"width":0.09474734,"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.5568484,"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.64960104,"top":1.0,"width":0.09474734,"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.6515958,"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.7307181,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (docker)","depth":1,"bounds":{"left":0.49634308,"top":1.0,"width":0.029920213,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
2802650493718167367
|
-1358120912881272742
|
idle
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
57547
|
NULL
|
NULL
|
NULL
|
|
57552
|
2014
|
0
|
2026-05-19T10:09:52.813445+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779185392813_m1.jpg...
|
iTerm2
|
APP (docker)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 281/5690 [▓░░░░░░░░░░░░░░░░░░░░░░░░░░░] 4%","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 281/5690 [▓░░░░░░░░░░░░░░░░░░░░░░░░░░░] 4%","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19826388,"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 (docker)","depth":2,"bounds":{"left":0.19826388,"top":0.05888889,"width":0.19826388,"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.20243056,"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 (docker)","depth":2,"bounds":{"left":0.39652777,"top":0.05888889,"width":0.19791667,"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.40069443,"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.59444445,"top":0.05888889,"width":0.19791667,"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.5986111,"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.79236114,"top":0.05888889,"width":0.19791667,"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.7965278,"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.9618056,"top":0.032222223,"width":0.038194418,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (docker)","depth":1,"bounds":{"left":0.4722222,"top":0.033333335,"width":0.0625,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
2802650493718167367
|
-1358120912881272742
|
idle
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
57545
|
NULL
|
NULL
|
NULL
|
|
57553
|
2015
|
1
|
2026-05-19T10:10:17.499259+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779185417499_m2.jpg...
|
iTerm2
|
APP (docker)
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 3771/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░] 66%","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 3771/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░] 66%","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.094913565,"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 (docker)","depth":2,"bounds":{"left":0.36519283,"top":1.0,"width":0.094913565,"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.3671875,"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 (docker)","depth":2,"bounds":{"left":0.46010637,"top":1.0,"width":0.09474734,"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.46210107,"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.55485374,"top":1.0,"width":0.09474734,"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.5568484,"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.64960104,"top":1.0,"width":0.09474734,"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.6515958,"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.7307181,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (docker)","depth":1,"bounds":{"left":0.49634308,"top":1.0,"width":0.029920213,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
2802650493718167367
|
-1358120912881272742
|
idle
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
57547
|
NULL
|
NULL
|
NULL
|
|
57554
|
2014
|
1
|
2026-05-19T10:10:22.978681+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779185422978_m1.jpg...
|
iTerm2
|
APP (docker)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 4261/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░] 74%","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 4261/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░] 74%","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19826388,"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 (docker)","depth":2,"bounds":{"left":0.19826388,"top":0.05888889,"width":0.19826388,"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.20243056,"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 (docker)","depth":2,"bounds":{"left":0.39652777,"top":0.05888889,"width":0.19791667,"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.40069443,"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.59444445,"top":0.05888889,"width":0.19791667,"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.5986111,"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.79236114,"top":0.05888889,"width":0.19791667,"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.7965278,"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.9618056,"top":0.032222223,"width":0.038194418,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (docker)","depth":1,"bounds":{"left":0.4722222,"top":0.033333335,"width":0.0625,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
2802650493718167367
|
-1358120912881272742
|
idle
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
57545
|
NULL
|
NULL
|
NULL
|
|
57588
|
2016
|
6
|
2026-05-19T10:16:42.234250+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779185802234_m1.jpg...
|
iTerm2
|
APP (-zsh)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Http/Controllers/API/V2/AskJiminnyReportsController.php (blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n+++ /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n@@ -140,6 +140,7 @@\n if ($enabled && $report->isAskJiminnyReport() && ! $report->canExecute()) {\n $error = 'This report is missing a saved search or prompt. ' .\n 'Edit the report to complete the setup before enabling it.';\n+\n return new JsonResponse(\n ['error' => $error],\n Response::HTTP_UNPROCESSABLE_ENTITY\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 71.757 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Http/Controllers/API/V2/AskJiminnyReportsController.php (blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n+++ /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n@@ -140,6 +140,7 @@\n if ($enabled && $report->isAskJiminnyReport() && ! $report->canExecute()) {\n $error = 'This report is missing a saved search or prompt. ' .\n 'Edit the report to complete the setup before enabling it.';\n+\n return new JsonResponse(\n ['error' => $error],\n Response::HTTP_UNPROCESSABLE_ENTITY\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 71.757 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19826388,"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 (docker)","depth":2,"bounds":{"left":0.19826388,"top":0.05888889,"width":0.19826388,"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.20243056,"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.39652777,"top":0.05888889,"width":0.19791667,"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.40069443,"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.59444445,"top":0.05888889,"width":0.19791667,"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.5986111,"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.79236114,"top":0.05888889,"width":0.19791667,"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.7965278,"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.9618056,"top":0.032222223,"width":0.038194418,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (-zsh)","depth":1,"bounds":{"left":0.47777778,"top":0.033333335,"width":0.05138889,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
2802650493718167367
|
-1358120912881272742
|
visual_change
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
57595
|
2016
|
10
|
2026-05-19T10:16:54.086252+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779185814086_m1.jpg...
|
iTerm2
|
APP (-zsh)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Http/Controllers/API/V2/AskJiminnyReportsController.php (blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n+++ /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n@@ -140,6 +140,7 @@\n if ($enabled && $report->isAskJiminnyReport() && ! $report->canExecute()) {\n $error = 'This report is missing a saved search or prompt. ' .\n 'Edit the report to complete the setup before enabling it.';\n+\n return new JsonResponse(\n ['error' => $error],\n Response::HTTP_UNPROCESSABLE_ENTITY\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 71.757 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git pu","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Http/Controllers/API/V2/AskJiminnyReportsController.php (blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n+++ /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n@@ -140,6 +140,7 @@\n if ($enabled && $report->isAskJiminnyReport() && ! $report->canExecute()) {\n $error = 'This report is missing a saved search or prompt. ' .\n 'Edit the report to complete the setup before enabling it.';\n+\n return new JsonResponse(\n ['error' => $error],\n Response::HTTP_UNPROCESSABLE_ENTITY\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 71.757 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git pu","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19826388,"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 (docker)","depth":2,"bounds":{"left":0.19826388,"top":0.05888889,"width":0.19826388,"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.20243056,"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.39652777,"top":0.05888889,"width":0.19791667,"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.40069443,"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.59444445,"top":0.05888889,"width":0.19791667,"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.5986111,"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.79236114,"top":0.05888889,"width":0.19791667,"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.7965278,"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.9618056,"top":0.032222223,"width":0.038194418,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (-zsh)","depth":1,"bounds":{"left":0.47777778,"top":0.033333335,"width":0.05138889,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
2802650493718167367
|
-1358120912881272742
|
visual_change
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
57596
|
2017
|
7
|
2026-05-19T10:16:52.919106+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779185812919_m2.jpg...
|
iTerm2
|
APP (-zsh)
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhpStormVIewINavicarecodeLaravelKeractorWindowmelp PhpStormVIewINavicarecodeLaravelKeractorWindowmelprTavsco.s°9 JY-20676-delete-iroledeyC ActivityController.ongpip aplionp© AskAnythingController.php© ActivityV2Controller.phpAskAnythingController.phpAskAnytningrromptserwice.ong© AskJiminnykeporscontroller.ongc Dealsvzcontroller.onp© AskAnythingPromptServiceTest.phpc OnDemanavzcontroller.onpPlavlistController.phpPlavlistShareController.phpclass AskJ1minnyReportscontrollerpublic function togglestatus(Re"Edat the revonPlavlistTrackController.php© TranscriptionSummaryController.preturn new JsonResoc) UploadController.php'error=> SerC)Actionitemscontroller.phpstatus: Response.©) Activitvcontroller.ohpc)AlcrmNotescontrolller.onoc) Basecontrolller.onoC) ClientTokenController.oho$data = $this->automateC) CrmController.ohoprevort.C) DealLevelPromotsController.oholpohlollee© DealRiskController.php© InstantMeetingController.phpc) IanquadeController nhnreturn new Jsonkesponse} catch (ModolNo+SoundGycorLocal ChandecConsoleChanges 4 tiles=.env.local app802a33811 app/H|c)AskJiminnyReporisController.pno app/Http/Controllers/APV/Vz@ JiminnyDebugCommand.php app/Console/Commands© AskAnythingPrompt.phppip aplyr.onp© AutomatedReportsService.php• M Htt/Controllers/API/N2 1 filev © AskJiminnyReportsController.php_ U config 1 file= env.local1 modifiedCommit MessageJY-20676 delete AJ reports related objectsv DiftTJ<→8Side-by-side viewerDo notignore@ 02a33811 app/Http/Controllers/API/V2/AskJiminnyReportsController.php$enabled = (bool) Srequest->input('enablelif (Senabled && Sreport->isAskJiminnyRepoif (Sreport->qetActivitySearchId0 ==return new JsonResponse(php logaina.phd contiaUnversioned Files 9 files= env.nikilocal apo=.env.other appc) CanAccessAiReportsTlest.ono tests/Unit/Policies© CreateMockAskJiminnvReportResultCommand.oho app/Console/Commands/RK ravicon.ico oublid#ids.tyt ann1& raw sal querv sal annlC) SimulateWebhooksCommand.ohn ann/Console/Commands/Crm/HubsnotMLWERHOOK_FILTERING IMPLEMENTATION.md aodhel"supoont Dally • In 1h 44 m100% 5• Tue 19 May 13:16:52=custom.log= laravel.log4 SF jiminny@localhost] x4 HS_local [jiminny@localhost]& console [PROD]# console [euyCascadeA console [STAGING]C) CoachinaFeedhackCoachl.Icerin.nhnAsk Jiminny Report M+0 ..Tx: AutovIawoneSo jiminny vthe message should be the same. Just make it in accepoted chars per line1d = /22007• # 00110/00000nB6FoMAClaalbl8yL ybACommit ChanaesChangelist: ChangesAuthorAmend commitSian-oft commitCommit checksid = 71;Update copvriahiJLL Where 10 = 601Poformat codeRearrange codeOptimize importsbrimarv. Connection refused1olmerenceCurrent versionSenabled = (bool) Srequest->input(' enabbe140 €if (Senabled && Sreport->isAskJiminnyRepoCurrent versionserror=nissing &return new JsonResponsederror' => SerrorrResponse: :HITP UNPROCESSABLE ENTITCancelCommitThoughts• AskJiminnyReportsController.php+2-1InoughtsAll tasks complete. Error message split to respect 120-char line limit04l **¿ @sCodo CWE.161ditterenceSdata = Sthis->automatedReportsService->updateAskJiminnvReportStatus(Sreport.$enabled = (bool) $request->input('enabled');if (Senabled && Sreport->isAskJiminnyReport && ! Sreport->canExecuteO) {Serror = 'This report is missing a saved search or prompt."Edit the nenont to comnlete the cotun hefone enablina it I.return new JsonResponse(['error' => $error]Response::HTTP_UNPROCESSABLE_ ENTITYSdata = Sthis->automatedReportsService->updateAskJiminnvReportStatus(Sreport.Po 4 spaces...
|
NULL
|
-175174512130402422
|
NULL
|
click
|
ocr
|
NULL
|
PhpStormVIewINavicarecodeLaravelKeractorWindowmelp PhpStormVIewINavicarecodeLaravelKeractorWindowmelprTavsco.s°9 JY-20676-delete-iroledeyC ActivityController.ongpip aplionp© AskAnythingController.php© ActivityV2Controller.phpAskAnythingController.phpAskAnytningrromptserwice.ong© AskJiminnykeporscontroller.ongc Dealsvzcontroller.onp© AskAnythingPromptServiceTest.phpc OnDemanavzcontroller.onpPlavlistController.phpPlavlistShareController.phpclass AskJ1minnyReportscontrollerpublic function togglestatus(Re"Edat the revonPlavlistTrackController.php© TranscriptionSummaryController.preturn new JsonResoc) UploadController.php'error=> SerC)Actionitemscontroller.phpstatus: Response.©) Activitvcontroller.ohpc)AlcrmNotescontrolller.onoc) Basecontrolller.onoC) ClientTokenController.oho$data = $this->automateC) CrmController.ohoprevort.C) DealLevelPromotsController.oholpohlollee© DealRiskController.php© InstantMeetingController.phpc) IanquadeController nhnreturn new Jsonkesponse} catch (ModolNo+SoundGycorLocal ChandecConsoleChanges 4 tiles=.env.local app802a33811 app/H|c)AskJiminnyReporisController.pno app/Http/Controllers/APV/Vz@ JiminnyDebugCommand.php app/Console/Commands© AskAnythingPrompt.phppip aplyr.onp© AutomatedReportsService.php• M Htt/Controllers/API/N2 1 filev © AskJiminnyReportsController.php_ U config 1 file= env.local1 modifiedCommit MessageJY-20676 delete AJ reports related objectsv DiftTJ<→8Side-by-side viewerDo notignore@ 02a33811 app/Http/Controllers/API/V2/AskJiminnyReportsController.php$enabled = (bool) Srequest->input('enablelif (Senabled && Sreport->isAskJiminnyRepoif (Sreport->qetActivitySearchId0 ==return new JsonResponse(php logaina.phd contiaUnversioned Files 9 files= env.nikilocal apo=.env.other appc) CanAccessAiReportsTlest.ono tests/Unit/Policies© CreateMockAskJiminnvReportResultCommand.oho app/Console/Commands/RK ravicon.ico oublid#ids.tyt ann1& raw sal querv sal annlC) SimulateWebhooksCommand.ohn ann/Console/Commands/Crm/HubsnotMLWERHOOK_FILTERING IMPLEMENTATION.md aodhel"supoont Dally • In 1h 44 m100% 5• Tue 19 May 13:16:52=custom.log= laravel.log4 SF jiminny@localhost] x4 HS_local [jiminny@localhost]& console [PROD]# console [euyCascadeA console [STAGING]C) CoachinaFeedhackCoachl.Icerin.nhnAsk Jiminny Report M+0 ..Tx: AutovIawoneSo jiminny vthe message should be the same. Just make it in accepoted chars per line1d = /22007• # 00110/00000nB6FoMAClaalbl8yL ybACommit ChanaesChangelist: ChangesAuthorAmend commitSian-oft commitCommit checksid = 71;Update copvriahiJLL Where 10 = 601Poformat codeRearrange codeOptimize importsbrimarv. Connection refused1olmerenceCurrent versionSenabled = (bool) Srequest->input(' enabbe140 €if (Senabled && Sreport->isAskJiminnyRepoCurrent versionserror=nissing &return new JsonResponsederror' => SerrorrResponse: :HITP UNPROCESSABLE ENTITCancelCommitThoughts• AskJiminnyReportsController.php+2-1InoughtsAll tasks complete. Error message split to respect 120-char line limit04l **¿ @sCodo CWE.161ditterenceSdata = Sthis->automatedReportsService->updateAskJiminnvReportStatus(Sreport.$enabled = (bool) $request->input('enabled');if (Senabled && Sreport->isAskJiminnyReport && ! Sreport->canExecuteO) {Serror = 'This report is missing a saved search or prompt."Edit the nenont to comnlete the cotun hefone enablina it I.return new JsonResponse(['error' => $error]Response::HTTP_UNPROCESSABLE_ ENTITYSdata = Sthis->automatedReportsService->updateAskJiminnvReportStatus(Sreport.Po 4 spaces...
|
57593
|
NULL
|
NULL
|
NULL
|
|
58065
|
2045
|
1
|
2026-05-19T11:31:18.190284+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779190278190_m2.jpg...
|
iTerm2
|
APP (-zsh)
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Http/Controllers/API/V2/AskJiminnyReportsController.php (blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n+++ /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n@@ -140,6 +140,7 @@\n if ($enabled && $report->isAskJiminnyReport() && ! $report->canExecute()) {\n $error = 'This report is missing a saved search or prompt. ' .\n 'Edit the report to complete the setup before enabling it.';\n+\n return new JsonResponse(\n ['error' => $error],\n Response::HTTP_UNPROCESSABLE_ENTITY\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 71.757 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git pull\nremote: Enumerating objects: 158, done.\nremote: Counting objects: 100% (103/103), done.\nremote: Compressing objects: 100% (37/37), done.\nremote: Total 158 (delta 80), reused 74 (delta 66), pack-reused 55 (from 3)\nReceiving objects: 100% (158/158), 80.59 KiB | 982.00 KiB/s, done.\nResolving deltas: 100% (85/85), completed with 45 local objects.\nFrom github.com:jiminny/app\n 02a33811ee..c6ce5e2440 JY-20676-delete-report-related-objects -> origin/JY-20676-delete-report-related-objects\n 7ce96cb5fe..6c59f04358 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 3906a9238a..2b5e6ea62b JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n 5604af40cf..ea3519f0e2 master -> origin/master\n * [new branch] switch-eu-assembly -> origin/switch-eu-assembly\nUpdating 02a33811ee..c6ce5e2440\nFast-forward\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 48 ---\n app/Component/ParticipantSpeech/Services/ParticipantAttributionService.php | 4 +-\n app/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.php | 20 +-\n app/Component/Transcription/Service/StorageService.php | 8 +-\n front-end/package.json | 2 +-\n front-end/src/components/DealInsights/Modals/AskAnythingModal.vue | 23 ++\n front-end/src/components/shared/AskAnything/AskAnythingPromptFormItem.vue | 2 +\n front-end/src/components/shared/AskAnything/AskAnythingSettingsDrawer.vue | 23 +-\n front-end/src/components/shared/AskAnything/__mocks__/AskAnythingSettingsDrawer.mocks.js | 1 +\n front-end/src/components/shared/AskAnything/__tests__/AskAnythingSettingsDrawer.spec.js | 135 ++++---\n front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.html | 1235 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.snap | 1382 ----------------------------------------------------------------\n front-end/src/components/shared/AskAnything/prompts.js | 1 +\n front-end/src/components/shared/AskAnything/useAskAnything.js | 1 +\n front-end/yarn.lock | 8 +-\n tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.php | 42 --\n tests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.php | 86 ++--\n tests/Unit/Component/Transcription/Service/StorageServiceTest.php | 29 +-\n 18 files changed, 1448 insertions(+), 1602 deletions(-)\n delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.php\n create mode 100644 front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.html\n delete mode 100644 front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.snap\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Http/Controllers/API/V2/AskJiminnyReportsController.php (blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n+++ /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n@@ -140,6 +140,7 @@\n if ($enabled && $report->isAskJiminnyReport() && ! $report->canExecute()) {\n $error = 'This report is missing a saved search or prompt. ' .\n 'Edit the report to complete the setup before enabling it.';\n+\n return new JsonResponse(\n ['error' => $error],\n Response::HTTP_UNPROCESSABLE_ENTITY\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 71.757 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git pull\nremote: Enumerating objects: 158, done.\nremote: Counting objects: 100% (103/103), done.\nremote: Compressing objects: 100% (37/37), done.\nremote: Total 158 (delta 80), reused 74 (delta 66), pack-reused 55 (from 3)\nReceiving objects: 100% (158/158), 80.59 KiB | 982.00 KiB/s, done.\nResolving deltas: 100% (85/85), completed with 45 local objects.\nFrom github.com:jiminny/app\n 02a33811ee..c6ce5e2440 JY-20676-delete-report-related-objects -> origin/JY-20676-delete-report-related-objects\n 7ce96cb5fe..6c59f04358 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 3906a9238a..2b5e6ea62b JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n 5604af40cf..ea3519f0e2 master -> origin/master\n * [new branch] switch-eu-assembly -> origin/switch-eu-assembly\nUpdating 02a33811ee..c6ce5e2440\nFast-forward\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 48 ---\n app/Component/ParticipantSpeech/Services/ParticipantAttributionService.php | 4 +-\n app/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.php | 20 +-\n app/Component/Transcription/Service/StorageService.php | 8 +-\n front-end/package.json | 2 +-\n front-end/src/components/DealInsights/Modals/AskAnythingModal.vue | 23 ++\n front-end/src/components/shared/AskAnything/AskAnythingPromptFormItem.vue | 2 +\n front-end/src/components/shared/AskAnything/AskAnythingSettingsDrawer.vue | 23 +-\n front-end/src/components/shared/AskAnything/__mocks__/AskAnythingSettingsDrawer.mocks.js | 1 +\n front-end/src/components/shared/AskAnything/__tests__/AskAnythingSettingsDrawer.spec.js | 135 ++++---\n front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.html | 1235 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.snap | 1382 ----------------------------------------------------------------\n front-end/src/components/shared/AskAnything/prompts.js | 1 +\n front-end/src/components/shared/AskAnything/useAskAnything.js | 1 +\n front-end/yarn.lock | 8 +-\n tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.php | 42 --\n tests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.php | 86 ++--\n tests/Unit/Component/Transcription/Service/StorageServiceTest.php | 29 +-\n 18 files changed, 1448 insertions(+), 1602 deletions(-)\n delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.php\n create mode 100644 front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.html\n delete mode 100644 front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.snap\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.094913565,"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 (docker)","depth":2,"bounds":{"left":0.36519283,"top":1.0,"width":0.094913565,"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.3671875,"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.46010637,"top":1.0,"width":0.09474734,"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.46210107,"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}]...
|
2802650493718167367
|
-1358120912881272742
|
click
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58067
|
2044
|
1
|
2026-05-19T11:31:21.362207+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779190281362_m1.jpg...
|
iTerm2
|
APP (-zsh)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Http/Controllers/API/V2/AskJiminnyReportsController.php (blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n+++ /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n@@ -140,6 +140,7 @@\n if ($enabled && $report->isAskJiminnyReport() && ! $report->canExecute()) {\n $error = 'This report is missing a saved search or prompt. ' .\n 'Edit the report to complete the setup before enabling it.';\n+\n return new JsonResponse(\n ['error' => $error],\n Response::HTTP_UNPROCESSABLE_ENTITY\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 71.757 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git pull\nremote: Enumerating objects: 158, done.\nremote: Counting objects: 100% (103/103), done.\nremote: Compressing objects: 100% (37/37), done.\nremote: Total 158 (delta 80), reused 74 (delta 66), pack-reused 55 (from 3)\nReceiving objects: 100% (158/158), 80.59 KiB | 982.00 KiB/s, done.\nResolving deltas: 100% (85/85), completed with 45 local objects.\nFrom github.com:jiminny/app\n 02a33811ee..c6ce5e2440 JY-20676-delete-report-related-objects -> origin/JY-20676-delete-report-related-objects\n 7ce96cb5fe..6c59f04358 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 3906a9238a..2b5e6ea62b JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n 5604af40cf..ea3519f0e2 master -> origin/master\n * [new branch] switch-eu-assembly -> origin/switch-eu-assembly\nUpdating 02a33811ee..c6ce5e2440\nFast-forward\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 48 ---\n app/Component/ParticipantSpeech/Services/ParticipantAttributionService.php | 4 +-\n app/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.php | 20 +-\n app/Component/Transcription/Service/StorageService.php | 8 +-\n front-end/package.json | 2 +-\n front-end/src/components/DealInsights/Modals/AskAnythingModal.vue | 23 ++\n front-end/src/components/shared/AskAnything/AskAnythingPromptFormItem.vue | 2 +\n front-end/src/components/shared/AskAnything/AskAnythingSettingsDrawer.vue | 23 +-\n front-end/src/components/shared/AskAnything/__mocks__/AskAnythingSettingsDrawer.mocks.js | 1 +\n front-end/src/components/shared/AskAnything/__tests__/AskAnythingSettingsDrawer.spec.js | 135 ++++---\n front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.html | 1235 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.snap | 1382 ----------------------------------------------------------------\n front-end/src/components/shared/AskAnything/prompts.js | 1 +\n front-end/src/components/shared/AskAnything/useAskAnything.js | 1 +\n front-end/yarn.lock | 8 +-\n tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.php | 42 --\n tests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.php | 86 ++--\n tests/Unit/Component/Transcription/Service/StorageServiceTest.php | 29 +-\n 18 files changed, 1448 insertions(+), 1602 deletions(-)\n delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.php\n create mode 100644 front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.html\n delete mode 100644 front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.snap\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Http/Controllers/API/V2/AskJiminnyReportsController.php (blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n+++ /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n@@ -140,6 +140,7 @@\n if ($enabled && $report->isAskJiminnyReport() && ! $report->canExecute()) {\n $error = 'This report is missing a saved search or prompt. ' .\n 'Edit the report to complete the setup before enabling it.';\n+\n return new JsonResponse(\n ['error' => $error],\n Response::HTTP_UNPROCESSABLE_ENTITY\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 71.757 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git pull\nremote: Enumerating objects: 158, done.\nremote: Counting objects: 100% (103/103), done.\nremote: Compressing objects: 100% (37/37), done.\nremote: Total 158 (delta 80), reused 74 (delta 66), pack-reused 55 (from 3)\nReceiving objects: 100% (158/158), 80.59 KiB | 982.00 KiB/s, done.\nResolving deltas: 100% (85/85), completed with 45 local objects.\nFrom github.com:jiminny/app\n 02a33811ee..c6ce5e2440 JY-20676-delete-report-related-objects -> origin/JY-20676-delete-report-related-objects\n 7ce96cb5fe..6c59f04358 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 3906a9238a..2b5e6ea62b JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n 5604af40cf..ea3519f0e2 master -> origin/master\n * [new branch] switch-eu-assembly -> origin/switch-eu-assembly\nUpdating 02a33811ee..c6ce5e2440\nFast-forward\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 48 ---\n app/Component/ParticipantSpeech/Services/ParticipantAttributionService.php | 4 +-\n app/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.php | 20 +-\n app/Component/Transcription/Service/StorageService.php | 8 +-\n front-end/package.json | 2 +-\n front-end/src/components/DealInsights/Modals/AskAnythingModal.vue | 23 ++\n front-end/src/components/shared/AskAnything/AskAnythingPromptFormItem.vue | 2 +\n front-end/src/components/shared/AskAnything/AskAnythingSettingsDrawer.vue | 23 +-\n front-end/src/components/shared/AskAnything/__mocks__/AskAnythingSettingsDrawer.mocks.js | 1 +\n front-end/src/components/shared/AskAnything/__tests__/AskAnythingSettingsDrawer.spec.js | 135 ++++---\n front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.html | 1235 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.snap | 1382 ----------------------------------------------------------------\n front-end/src/components/shared/AskAnything/prompts.js | 1 +\n front-end/src/components/shared/AskAnything/useAskAnything.js | 1 +\n front-end/yarn.lock | 8 +-\n tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.php | 42 --\n tests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.php | 86 ++--\n tests/Unit/Component/Transcription/Service/StorageServiceTest.php | 29 +-\n 18 files changed, 1448 insertions(+), 1602 deletions(-)\n delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.php\n create mode 100644 front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.html\n delete mode 100644 front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.snap\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19826388,"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 (docker)","depth":2,"bounds":{"left":0.19826388,"top":0.05888889,"width":0.19826388,"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.20243056,"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.39652777,"top":0.05888889,"width":0.19791667,"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.40069443,"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.59444445,"top":0.05888889,"width":0.19791667,"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.5986111,"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.79236114,"top":0.05888889,"width":0.19791667,"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.7965278,"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.9618056,"top":0.032222223,"width":0.038194418,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (-zsh)","depth":1,"bounds":{"left":0.47777778,"top":0.033333335,"width":0.05138889,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
2802650493718167367
|
-1358120912881272742
|
click
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58068
|
2045
|
2
|
2026-05-19T11:31:49.508377+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779190309508_m2.jpg...
|
iTerm2
|
APP (docker)
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Http/Controllers/API/V2/AskJiminnyReportsController.php (blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n+++ /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n@@ -140,6 +140,7 @@\n if ($enabled && $report->isAskJiminnyReport() && ! $report->canExecute()) {\n $error = 'This report is missing a saved search or prompt. ' .\n 'Edit the report to complete the setup before enabling it.';\n+\n return new JsonResponse(\n ['error' => $error],\n Response::HTTP_UNPROCESSABLE_ENTITY\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 71.757 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git pull\nremote: Enumerating objects: 158, done.\nremote: Counting objects: 100% (103/103), done.\nremote: Compressing objects: 100% (37/37), done.\nremote: Total 158 (delta 80), reused 74 (delta 66), pack-reused 55 (from 3)\nReceiving objects: 100% (158/158), 80.59 KiB | 982.00 KiB/s, done.\nResolving deltas: 100% (85/85), completed with 45 local objects.\nFrom github.com:jiminny/app\n 02a33811ee..c6ce5e2440 JY-20676-delete-report-related-objects -> origin/JY-20676-delete-report-related-objects\n 7ce96cb5fe..6c59f04358 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 3906a9238a..2b5e6ea62b JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n 5604af40cf..ea3519f0e2 master -> origin/master\n * [new branch] switch-eu-assembly -> origin/switch-eu-assembly\nUpdating 02a33811ee..c6ce5e2440\nFast-forward\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 48 ---\n app/Component/ParticipantSpeech/Services/ParticipantAttributionService.php | 4 +-\n app/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.php | 20 +-\n app/Component/Transcription/Service/StorageService.php | 8 +-\n front-end/package.json | 2 +-\n front-end/src/components/DealInsights/Modals/AskAnythingModal.vue | 23 ++\n front-end/src/components/shared/AskAnything/AskAnythingPromptFormItem.vue | 2 +\n front-end/src/components/shared/AskAnything/AskAnythingSettingsDrawer.vue | 23 +-\n front-end/src/components/shared/AskAnything/__mocks__/AskAnythingSettingsDrawer.mocks.js | 1 +\n front-end/src/components/shared/AskAnything/__tests__/AskAnythingSettingsDrawer.spec.js | 135 ++++---\n front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.html | 1235 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.snap | 1382 ----------------------------------------------------------------\n front-end/src/components/shared/AskAnything/prompts.js | 1 +\n front-end/src/components/shared/AskAnything/useAskAnything.js | 1 +\n front-end/yarn.lock | 8 +-\n tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.php | 42 --\n tests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.php | 86 ++--\n tests/Unit/Component/Transcription/Service/StorageServiceTest.php | 29 +-\n 18 files changed, 1448 insertions(+), 1602 deletions(-)\n delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.php\n create mode 100644 front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.html\n delete mode 100644 front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.snap\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Http/Controllers/API/V2/AskJiminnyReportsController.php (blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n+++ /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n@@ -140,6 +140,7 @@\n if ($enabled && $report->isAskJiminnyReport() && ! $report->canExecute()) {\n $error = 'This report is missing a saved search or prompt. ' .\n 'Edit the report to complete the setup before enabling it.';\n+\n return new JsonResponse(\n ['error' => $error],\n Response::HTTP_UNPROCESSABLE_ENTITY\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 71.757 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git pull\nremote: Enumerating objects: 158, done.\nremote: Counting objects: 100% (103/103), done.\nremote: Compressing objects: 100% (37/37), done.\nremote: Total 158 (delta 80), reused 74 (delta 66), pack-reused 55 (from 3)\nReceiving objects: 100% (158/158), 80.59 KiB | 982.00 KiB/s, done.\nResolving deltas: 100% (85/85), completed with 45 local objects.\nFrom github.com:jiminny/app\n 02a33811ee..c6ce5e2440 JY-20676-delete-report-related-objects -> origin/JY-20676-delete-report-related-objects\n 7ce96cb5fe..6c59f04358 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 3906a9238a..2b5e6ea62b JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n 5604af40cf..ea3519f0e2 master -> origin/master\n * [new branch] switch-eu-assembly -> origin/switch-eu-assembly\nUpdating 02a33811ee..c6ce5e2440\nFast-forward\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 48 ---\n app/Component/ParticipantSpeech/Services/ParticipantAttributionService.php | 4 +-\n app/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.php | 20 +-\n app/Component/Transcription/Service/StorageService.php | 8 +-\n front-end/package.json | 2 +-\n front-end/src/components/DealInsights/Modals/AskAnythingModal.vue | 23 ++\n front-end/src/components/shared/AskAnything/AskAnythingPromptFormItem.vue | 2 +\n front-end/src/components/shared/AskAnything/AskAnythingSettingsDrawer.vue | 23 +-\n front-end/src/components/shared/AskAnything/__mocks__/AskAnythingSettingsDrawer.mocks.js | 1 +\n front-end/src/components/shared/AskAnything/__tests__/AskAnythingSettingsDrawer.spec.js | 135 ++++---\n front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.html | 1235 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.snap | 1382 ----------------------------------------------------------------\n front-end/src/components/shared/AskAnything/prompts.js | 1 +\n front-end/src/components/shared/AskAnything/useAskAnything.js | 1 +\n front-end/yarn.lock | 8 +-\n tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.php | 42 --\n tests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.php | 86 ++--\n tests/Unit/Component/Transcription/Service/StorageServiceTest.php | 29 +-\n 18 files changed, 1448 insertions(+), 1602 deletions(-)\n delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.php\n create mode 100644 front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.html\n delete mode 100644 front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.snap\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.094913565,"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 (docker)","depth":2,"bounds":{"left":0.36519283,"top":1.0,"width":0.094913565,"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.3671875,"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 (docker)","depth":2,"bounds":{"left":0.46010637,"top":1.0,"width":0.09474734,"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.46210107,"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.55485374,"top":1.0,"width":0.09474734,"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.5568484,"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.64960104,"top":1.0,"width":0.09474734,"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.6515958,"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.7307181,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (docker)","depth":1,"bounds":{"left":0.49634308,"top":1.0,"width":0.029920213,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
2802650493718167367
|
-1358120912881272742
|
idle
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
58065
|
NULL
|
NULL
|
NULL
|
|
58069
|
2044
|
2
|
2026-05-19T11:32:01.201517+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779190321201_m1.jpg...
|
iTerm2
|
APP (docker)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Http/Controllers/API/V2/AskJiminnyReportsController.php (blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n+++ /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n@@ -140,6 +140,7 @@\n if ($enabled && $report->isAskJiminnyReport() && ! $report->canExecute()) {\n $error = 'This report is missing a saved search or prompt. ' .\n 'Edit the report to complete the setup before enabling it.';\n+\n return new JsonResponse(\n ['error' => $error],\n Response::HTTP_UNPROCESSABLE_ENTITY\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 71.757 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git pull\nremote: Enumerating objects: 158, done.\nremote: Counting objects: 100% (103/103), done.\nremote: Compressing objects: 100% (37/37), done.\nremote: Total 158 (delta 80), reused 74 (delta 66), pack-reused 55 (from 3)\nReceiving objects: 100% (158/158), 80.59 KiB | 982.00 KiB/s, done.\nResolving deltas: 100% (85/85), completed with 45 local objects.\nFrom github.com:jiminny/app\n 02a33811ee..c6ce5e2440 JY-20676-delete-report-related-objects -> origin/JY-20676-delete-report-related-objects\n 7ce96cb5fe..6c59f04358 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 3906a9238a..2b5e6ea62b JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n 5604af40cf..ea3519f0e2 master -> origin/master\n * [new branch] switch-eu-assembly -> origin/switch-eu-assembly\nUpdating 02a33811ee..c6ce5e2440\nFast-forward\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 48 ---\n app/Component/ParticipantSpeech/Services/ParticipantAttributionService.php | 4 +-\n app/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.php | 20 +-\n app/Component/Transcription/Service/StorageService.php | 8 +-\n front-end/package.json | 2 +-\n front-end/src/components/DealInsights/Modals/AskAnythingModal.vue | 23 ++\n front-end/src/components/shared/AskAnything/AskAnythingPromptFormItem.vue | 2 +\n front-end/src/components/shared/AskAnything/AskAnythingSettingsDrawer.vue | 23 +-\n front-end/src/components/shared/AskAnything/__mocks__/AskAnythingSettingsDrawer.mocks.js | 1 +\n front-end/src/components/shared/AskAnything/__tests__/AskAnythingSettingsDrawer.spec.js | 135 ++++---\n front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.html | 1235 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.snap | 1382 ----------------------------------------------------------------\n front-end/src/components/shared/AskAnything/prompts.js | 1 +\n front-end/src/components/shared/AskAnything/useAskAnything.js | 1 +\n front-end/yarn.lock | 8 +-\n tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.php | 42 --\n tests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.php | 86 ++--\n tests/Unit/Component/Transcription/Service/StorageServiceTest.php | 29 +-\n 18 files changed, 1448 insertions(+), 1602 deletions(-)\n delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.php\n create mode 100644 front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.html\n delete mode 100644 front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.snap\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Http/Controllers/API/V2/AskJiminnyReportsController.php (blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n+++ /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n@@ -140,6 +140,7 @@\n if ($enabled && $report->isAskJiminnyReport() && ! $report->canExecute()) {\n $error = 'This report is missing a saved search or prompt. ' .\n 'Edit the report to complete the setup before enabling it.';\n+\n return new JsonResponse(\n ['error' => $error],\n Response::HTTP_UNPROCESSABLE_ENTITY\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 71.757 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git pull\nremote: Enumerating objects: 158, done.\nremote: Counting objects: 100% (103/103), done.\nremote: Compressing objects: 100% (37/37), done.\nremote: Total 158 (delta 80), reused 74 (delta 66), pack-reused 55 (from 3)\nReceiving objects: 100% (158/158), 80.59 KiB | 982.00 KiB/s, done.\nResolving deltas: 100% (85/85), completed with 45 local objects.\nFrom github.com:jiminny/app\n 02a33811ee..c6ce5e2440 JY-20676-delete-report-related-objects -> origin/JY-20676-delete-report-related-objects\n 7ce96cb5fe..6c59f04358 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 3906a9238a..2b5e6ea62b JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n 5604af40cf..ea3519f0e2 master -> origin/master\n * [new branch] switch-eu-assembly -> origin/switch-eu-assembly\nUpdating 02a33811ee..c6ce5e2440\nFast-forward\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 48 ---\n app/Component/ParticipantSpeech/Services/ParticipantAttributionService.php | 4 +-\n app/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.php | 20 +-\n app/Component/Transcription/Service/StorageService.php | 8 +-\n front-end/package.json | 2 +-\n front-end/src/components/DealInsights/Modals/AskAnythingModal.vue | 23 ++\n front-end/src/components/shared/AskAnything/AskAnythingPromptFormItem.vue | 2 +\n front-end/src/components/shared/AskAnything/AskAnythingSettingsDrawer.vue | 23 +-\n front-end/src/components/shared/AskAnything/__mocks__/AskAnythingSettingsDrawer.mocks.js | 1 +\n front-end/src/components/shared/AskAnything/__tests__/AskAnythingSettingsDrawer.spec.js | 135 ++++---\n front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.html | 1235 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.snap | 1382 ----------------------------------------------------------------\n front-end/src/components/shared/AskAnything/prompts.js | 1 +\n front-end/src/components/shared/AskAnything/useAskAnything.js | 1 +\n front-end/yarn.lock | 8 +-\n tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.php | 42 --\n tests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.php | 86 ++--\n tests/Unit/Component/Transcription/Service/StorageServiceTest.php | 29 +-\n 18 files changed, 1448 insertions(+), 1602 deletions(-)\n delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.php\n create mode 100644 front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.html\n delete mode 100644 front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.snap\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19826388,"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 (docker)","depth":2,"bounds":{"left":0.19826388,"top":0.05888889,"width":0.19826388,"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.20243056,"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 (docker)","depth":2,"bounds":{"left":0.39652777,"top":0.05888889,"width":0.19791667,"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.40069443,"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.59444445,"top":0.05888889,"width":0.19791667,"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.5986111,"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.79236114,"top":0.05888889,"width":0.19791667,"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.7965278,"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.9618056,"top":0.032222223,"width":0.038194418,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (docker)","depth":1,"bounds":{"left":0.4722222,"top":0.033333335,"width":0.0625,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
2802650493718167367
|
-1358120912881272742
|
click
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
58067
|
NULL
|
NULL
|
NULL
|
|
58091
|
2045
|
14
|
2026-05-19T11:34:45.831664+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779190485831_m2.jpg...
|
iTerm2
|
APP (docker)
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Http/Controllers/API/V2/AskJiminnyReportsController.php (blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n+++ /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n@@ -140,6 +140,7 @@\n if ($enabled && $report->isAskJiminnyReport() && ! $report->canExecute()) {\n $error = 'This report is missing a saved search or prompt. ' .\n 'Edit the report to complete the setup before enabling it.';\n+\n return new JsonResponse(\n ['error' => $error],\n Response::HTTP_UNPROCESSABLE_ENTITY\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 71.757 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git pull\nremote: Enumerating objects: 158, done.\nremote: Counting objects: 100% (103/103), done.\nremote: Compressing objects: 100% (37/37), done.\nremote: Total 158 (delta 80), reused 74 (delta 66), pack-reused 55 (from 3)\nReceiving objects: 100% (158/158), 80.59 KiB | 982.00 KiB/s, done.\nResolving deltas: 100% (85/85), completed with 45 local objects.\nFrom github.com:jiminny/app\n 02a33811ee..c6ce5e2440 JY-20676-delete-report-related-objects -> origin/JY-20676-delete-report-related-objects\n 7ce96cb5fe..6c59f04358 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 3906a9238a..2b5e6ea62b JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n 5604af40cf..ea3519f0e2 master -> origin/master\n * [new branch] switch-eu-assembly -> origin/switch-eu-assembly\nUpdating 02a33811ee..c6ce5e2440\nFast-forward\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 48 ---\n app/Component/ParticipantSpeech/Services/ParticipantAttributionService.php | 4 +-\n app/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.php | 20 +-\n app/Component/Transcription/Service/StorageService.php | 8 +-\n front-end/package.json | 2 +-\n front-end/src/components/DealInsights/Modals/AskAnythingModal.vue | 23 ++\n front-end/src/components/shared/AskAnything/AskAnythingPromptFormItem.vue | 2 +\n front-end/src/components/shared/AskAnything/AskAnythingSettingsDrawer.vue | 23 +-\n front-end/src/components/shared/AskAnything/__mocks__/AskAnythingSettingsDrawer.mocks.js | 1 +\n front-end/src/components/shared/AskAnything/__tests__/AskAnythingSettingsDrawer.spec.js | 135 ++++---\n front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.html | 1235 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.snap | 1382 ----------------------------------------------------------------\n front-end/src/components/shared/AskAnything/prompts.js | 1 +\n front-end/src/components/shared/AskAnything/useAskAnything.js | 1 +\n front-end/yarn.lock | 8 +-\n tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.php | 42 --\n tests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.php | 86 ++--\n tests/Unit/Component/Transcription/Service/StorageServiceTest.php | 29 +-\n 18 files changed, 1448 insertions(+), 1602 deletions(-)\n delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.php\n create mode 100644 front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.html\n delete mode 100644 front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.snap\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Http/Controllers/API/V2/AskJiminnyReportsController.php (blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n+++ /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n@@ -140,6 +140,7 @@\n if ($enabled && $report->isAskJiminnyReport() && ! $report->canExecute()) {\n $error = 'This report is missing a saved search or prompt. ' .\n 'Edit the report to complete the setup before enabling it.';\n+\n return new JsonResponse(\n ['error' => $error],\n Response::HTTP_UNPROCESSABLE_ENTITY\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 71.757 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git pull\nremote: Enumerating objects: 158, done.\nremote: Counting objects: 100% (103/103), done.\nremote: Compressing objects: 100% (37/37), done.\nremote: Total 158 (delta 80), reused 74 (delta 66), pack-reused 55 (from 3)\nReceiving objects: 100% (158/158), 80.59 KiB | 982.00 KiB/s, done.\nResolving deltas: 100% (85/85), completed with 45 local objects.\nFrom github.com:jiminny/app\n 02a33811ee..c6ce5e2440 JY-20676-delete-report-related-objects -> origin/JY-20676-delete-report-related-objects\n 7ce96cb5fe..6c59f04358 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 3906a9238a..2b5e6ea62b JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n 5604af40cf..ea3519f0e2 master -> origin/master\n * [new branch] switch-eu-assembly -> origin/switch-eu-assembly\nUpdating 02a33811ee..c6ce5e2440\nFast-forward\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 48 ---\n app/Component/ParticipantSpeech/Services/ParticipantAttributionService.php | 4 +-\n app/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.php | 20 +-\n app/Component/Transcription/Service/StorageService.php | 8 +-\n front-end/package.json | 2 +-\n front-end/src/components/DealInsights/Modals/AskAnythingModal.vue | 23 ++\n front-end/src/components/shared/AskAnything/AskAnythingPromptFormItem.vue | 2 +\n front-end/src/components/shared/AskAnything/AskAnythingSettingsDrawer.vue | 23 +-\n front-end/src/components/shared/AskAnything/__mocks__/AskAnythingSettingsDrawer.mocks.js | 1 +\n front-end/src/components/shared/AskAnything/__tests__/AskAnythingSettingsDrawer.spec.js | 135 ++++---\n front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.html | 1235 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.snap | 1382 ----------------------------------------------------------------\n front-end/src/components/shared/AskAnything/prompts.js | 1 +\n front-end/src/components/shared/AskAnything/useAskAnything.js | 1 +\n front-end/yarn.lock | 8 +-\n tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.php | 42 --\n tests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.php | 86 ++--\n tests/Unit/Component/Transcription/Service/StorageServiceTest.php | 29 +-\n 18 files changed, 1448 insertions(+), 1602 deletions(-)\n delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.php\n create mode 100644 front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.html\n delete mode 100644 front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.snap\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.094913565,"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 (docker)","depth":2,"bounds":{"left":0.36519283,"top":1.0,"width":0.094913565,"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.3671875,"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 (docker)","depth":2,"bounds":{"left":0.46010637,"top":1.0,"width":0.09474734,"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.46210107,"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.55485374,"top":1.0,"width":0.09474734,"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.5568484,"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.64960104,"top":1.0,"width":0.09474734,"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.6515958,"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.7307181,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (docker)","depth":1,"bounds":{"left":0.49634308,"top":1.0,"width":0.029920213,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
2802650493718167367
|
-1358120912881272742
|
visual_change
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58092
|
2044
|
13
|
2026-05-19T11:34:43.638435+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779190483638_m1.jpg...
|
iTerm2
|
APP (docker)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2• 0ShellEditViewSessionScriptsProfilesWind iTerm2• 0ShellEditViewSessionScriptsProfilesWindowHelp(allSupport Daily • in 26 m100% C4 8• Tue 19 May 14:34:43DOCKER• ₴1DEV (docker)Fixed 1 of 5690files in 71.757 seconds, 60.00 MBmemoryused₴82APP (docker)APP (docker)181*3screenpipe"₴84-zsh85What's next:Try Docker Debug for seamless, persistent debugging tools in any container or image + docker debug docker_lamp_1Learn moreat [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20676-delete-report-related-objects) $csfixdocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix--config=.php-cs-fixer.dist.php -v --using-cache=no --diff...
|
NULL
|
-5349105975851604379
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2• 0ShellEditViewSessionScriptsProfilesWind iTerm2• 0ShellEditViewSessionScriptsProfilesWindowHelp(allSupport Daily • in 26 m100% C4 8• Tue 19 May 14:34:43DOCKER• ₴1DEV (docker)Fixed 1 of 5690files in 71.757 seconds, 60.00 MBmemoryused₴82APP (docker)APP (docker)181*3screenpipe"₴84-zsh85What's next:Try Docker Debug for seamless, persistent debugging tools in any container or image + docker debug docker_lamp_1Learn moreat [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20676-delete-report-related-objects) $csfixdocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix--config=.php-cs-fixer.dist.php -v --using-cache=no --diff...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58093
|
2044
|
14
|
2026-05-19T11:34:46.702907+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779190486702_m1.jpg...
|
iTerm2
|
APP (docker)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Http/Controllers/API/V2/AskJiminnyReportsController.php (blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n+++ /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n@@ -140,6 +140,7 @@\n if ($enabled && $report->isAskJiminnyReport() && ! $report->canExecute()) {\n $error = 'This report is missing a saved search or prompt. ' .\n 'Edit the report to complete the setup before enabling it.';\n+\n return new JsonResponse(\n ['error' => $error],\n Response::HTTP_UNPROCESSABLE_ENTITY\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 71.757 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git pull\nremote: Enumerating objects: 158, done.\nremote: Counting objects: 100% (103/103), done.\nremote: Compressing objects: 100% (37/37), done.\nremote: Total 158 (delta 80), reused 74 (delta 66), pack-reused 55 (from 3)\nReceiving objects: 100% (158/158), 80.59 KiB | 982.00 KiB/s, done.\nResolving deltas: 100% (85/85), completed with 45 local objects.\nFrom github.com:jiminny/app\n 02a33811ee..c6ce5e2440 JY-20676-delete-report-related-objects -> origin/JY-20676-delete-report-related-objects\n 7ce96cb5fe..6c59f04358 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 3906a9238a..2b5e6ea62b JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n 5604af40cf..ea3519f0e2 master -> origin/master\n * [new branch] switch-eu-assembly -> origin/switch-eu-assembly\nUpdating 02a33811ee..c6ce5e2440\nFast-forward\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 48 ---\n app/Component/ParticipantSpeech/Services/ParticipantAttributionService.php | 4 +-\n app/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.php | 20 +-\n app/Component/Transcription/Service/StorageService.php | 8 +-\n front-end/package.json | 2 +-\n front-end/src/components/DealInsights/Modals/AskAnythingModal.vue | 23 ++\n front-end/src/components/shared/AskAnything/AskAnythingPromptFormItem.vue | 2 +\n front-end/src/components/shared/AskAnything/AskAnythingSettingsDrawer.vue | 23 +-\n front-end/src/components/shared/AskAnything/__mocks__/AskAnythingSettingsDrawer.mocks.js | 1 +\n front-end/src/components/shared/AskAnything/__tests__/AskAnythingSettingsDrawer.spec.js | 135 ++++---\n front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.html | 1235 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.snap | 1382 ----------------------------------------------------------------\n front-end/src/components/shared/AskAnything/prompts.js | 1 +\n front-end/src/components/shared/AskAnything/useAskAnything.js | 1 +\n front-end/yarn.lock | 8 +-\n tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.php | 42 --\n tests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.php | 86 ++--\n tests/Unit/Component/Transcription/Service/StorageServiceTest.php | 29 +-\n 18 files changed, 1448 insertions(+), 1602 deletions(-)\n delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.php\n create mode 100644 front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.html\n delete mode 100644 front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.snap\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Http/Controllers/API/V2/AskJiminnyReportsController.php (blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n+++ /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n@@ -140,6 +140,7 @@\n if ($enabled && $report->isAskJiminnyReport() && ! $report->canExecute()) {\n $error = 'This report is missing a saved search or prompt. ' .\n 'Edit the report to complete the setup before enabling it.';\n+\n return new JsonResponse(\n ['error' => $error],\n Response::HTTP_UNPROCESSABLE_ENTITY\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 71.757 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git pull\nremote: Enumerating objects: 158, done.\nremote: Counting objects: 100% (103/103), done.\nremote: Compressing objects: 100% (37/37), done.\nremote: Total 158 (delta 80), reused 74 (delta 66), pack-reused 55 (from 3)\nReceiving objects: 100% (158/158), 80.59 KiB | 982.00 KiB/s, done.\nResolving deltas: 100% (85/85), completed with 45 local objects.\nFrom github.com:jiminny/app\n 02a33811ee..c6ce5e2440 JY-20676-delete-report-related-objects -> origin/JY-20676-delete-report-related-objects\n 7ce96cb5fe..6c59f04358 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 3906a9238a..2b5e6ea62b JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n 5604af40cf..ea3519f0e2 master -> origin/master\n * [new branch] switch-eu-assembly -> origin/switch-eu-assembly\nUpdating 02a33811ee..c6ce5e2440\nFast-forward\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 48 ---\n app/Component/ParticipantSpeech/Services/ParticipantAttributionService.php | 4 +-\n app/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.php | 20 +-\n app/Component/Transcription/Service/StorageService.php | 8 +-\n front-end/package.json | 2 +-\n front-end/src/components/DealInsights/Modals/AskAnythingModal.vue | 23 ++\n front-end/src/components/shared/AskAnything/AskAnythingPromptFormItem.vue | 2 +\n front-end/src/components/shared/AskAnything/AskAnythingSettingsDrawer.vue | 23 +-\n front-end/src/components/shared/AskAnything/__mocks__/AskAnythingSettingsDrawer.mocks.js | 1 +\n front-end/src/components/shared/AskAnything/__tests__/AskAnythingSettingsDrawer.spec.js | 135 ++++---\n front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.html | 1235 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.snap | 1382 ----------------------------------------------------------------\n front-end/src/components/shared/AskAnything/prompts.js | 1 +\n front-end/src/components/shared/AskAnything/useAskAnything.js | 1 +\n front-end/yarn.lock | 8 +-\n tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.php | 42 --\n tests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.php | 86 ++--\n tests/Unit/Component/Transcription/Service/StorageServiceTest.php | 29 +-\n 18 files changed, 1448 insertions(+), 1602 deletions(-)\n delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.php\n create mode 100644 front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.html\n delete mode 100644 front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.snap\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19826388,"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 (docker)","depth":2,"bounds":{"left":0.19826388,"top":0.05888889,"width":0.19826388,"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.20243056,"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 (docker)","depth":2,"bounds":{"left":0.39652777,"top":0.05888889,"width":0.19791667,"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.40069443,"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.59444445,"top":0.05888889,"width":0.19791667,"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.5986111,"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.79236114,"top":0.05888889,"width":0.19791667,"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.7965278,"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.9618056,"top":0.032222223,"width":0.038194418,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (docker)","depth":1,"bounds":{"left":0.4722222,"top":0.033333335,"width":0.0625,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
2802650493718167367
|
-1358120912881272742
|
visual_change
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
58094
|
2045
|
15
|
2026-05-19T11:35:16.382987+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-19/1779 /Users/lukas/.screenpipe/data/data/2026-05-19/1779190516382_m2.jpg...
|
iTerm2
|
APP (docker)
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Http/Controllers/API/V2/AskJiminnyReportsController.php (blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n+++ /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n@@ -140,6 +140,7 @@\n if ($enabled && $report->isAskJiminnyReport() && ! $report->canExecute()) {\n $error = 'This report is missing a saved search or prompt. ' .\n 'Edit the report to complete the setup before enabling it.';\n+\n return new JsonResponse(\n ['error' => $error],\n Response::HTTP_UNPROCESSABLE_ENTITY\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 71.757 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git pull\nremote: Enumerating objects: 158, done.\nremote: Counting objects: 100% (103/103), done.\nremote: Compressing objects: 100% (37/37), done.\nremote: Total 158 (delta 80), reused 74 (delta 66), pack-reused 55 (from 3)\nReceiving objects: 100% (158/158), 80.59 KiB | 982.00 KiB/s, done.\nResolving deltas: 100% (85/85), completed with 45 local objects.\nFrom github.com:jiminny/app\n 02a33811ee..c6ce5e2440 JY-20676-delete-report-related-objects -> origin/JY-20676-delete-report-related-objects\n 7ce96cb5fe..6c59f04358 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 3906a9238a..2b5e6ea62b JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n 5604af40cf..ea3519f0e2 master -> origin/master\n * [new branch] switch-eu-assembly -> origin/switch-eu-assembly\nUpdating 02a33811ee..c6ce5e2440\nFast-forward\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 48 ---\n app/Component/ParticipantSpeech/Services/ParticipantAttributionService.php | 4 +-\n app/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.php | 20 +-\n app/Component/Transcription/Service/StorageService.php | 8 +-\n front-end/package.json | 2 +-\n front-end/src/components/DealInsights/Modals/AskAnythingModal.vue | 23 ++\n front-end/src/components/shared/AskAnything/AskAnythingPromptFormItem.vue | 2 +\n front-end/src/components/shared/AskAnything/AskAnythingSettingsDrawer.vue | 23 +-\n front-end/src/components/shared/AskAnything/__mocks__/AskAnythingSettingsDrawer.mocks.js | 1 +\n front-end/src/components/shared/AskAnything/__tests__/AskAnythingSettingsDrawer.spec.js | 135 ++++---\n front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.html | 1235 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.snap | 1382 ----------------------------------------------------------------\n front-end/src/components/shared/AskAnything/prompts.js | 1 +\n front-end/src/components/shared/AskAnything/useAskAnything.js | 1 +\n front-end/yarn.lock | 8 +-\n tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.php | 42 --\n tests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.php | 86 ++--\n tests/Unit/Component/Transcription/Service/StorageServiceTest.php | 29 +-\n 18 files changed, 1448 insertions(+), 1602 deletions(-)\n delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.php\n create mode 100644 front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.html\n delete mode 100644 front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.snap\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 0/5688 [░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 0%","depth":4,"on_screen":true,"value":"Last login: Mon May 18 09:17:28 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nerror: Your local changes to the following files would be overwritten by checkout:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tPIPEDRIVE_V2_MIGRATION_TICKETS.md\nPlease commit your changes or stash them before you switch branches.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull\nremote: Enumerating objects: 1047, done.\nremote: Counting objects: 100% (832/832), done.\nremote: Compressing objects: 100% (298/298), done.\nremote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)\nReceiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.\nResolving deltas: 100% (687/687), completed with 107 local objects.\nFrom github.com:jiminny/app\n 907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc\n 03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit\n * [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n 98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user\n * [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target\n 31c62924a5..cb4ebf0c36 master -> origin/master\nUpdating 907c54896c..34656c53ed\nFast-forward\n PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 52 insertions(+)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 31c62924a5..cb4ebf0c36\nFast-forward\n app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------\n app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++\n app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------\n docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---\n docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---\n docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------\n docs/mcp/tools.md | 117 +++++++++++++++++++++++--------\n tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----\n tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---\n tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---\n tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--\n tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------\n 15 files changed, 832 insertions(+), 322 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup\nSwitched to a new branch 'JY-20613-allow-owner-role-on-team-setup'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git status\nOn branch JY-20613-allow-owner-role-on-team-setup\nYour branch is ahead of 'origin/JY-20613-allow-owner-role-on-team-setup' by 1 commit.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull\nremote: Enumerating objects: 248, done.\nremote: Counting objects: 100% (128/128), done.\nremote: Compressing objects: 100% (23/23), done.\nremote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)\nUnpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.\nFrom github.com:jiminny/app\n b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher\n cb4ebf0c36..90bca4e4b2 master -> origin/master\nMerge made by the 'ort' strategy.\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----\n app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------\n 16 files changed, 557 insertions(+), 75 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push\nEnumerating objects: 40, done.\nCounting objects: 100% (34/34), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (18/18), done.\nWriting objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.\nTotal 18 (delta 15), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (15/15), completed with 13 local objects.\nTo github.com:jiminny/app.git\n 190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr\n* JY-20613-allow-owner-role-on-team-setup\n pipedrive-sdk-poc\n master\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20725-handle-HS-search-rate-limit\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20725-handle-HS-search-rate-limit'\nYour branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull\nUpdating 0f3e438941..bc6a3fce6b\nFast-forward\n .gitignore | 3 +-\n .windsurfrules | 168 ++---\n CLAUDE.md | 1 +\n app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-\n app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-\n app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-\n app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++\n app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +\n app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-\n app/Component/ES/ElasticSearchWorkerManager.php | 86 ---\n app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--\n app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-\n app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -\n app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-\n app/Component/ES/Worker/ActivityWorker.php | 73 --\n app/Component/ES/Worker/EntityWorker.php | 44 --\n app/Component/ES/Worker/WorkerAmount.php | 60 --\n app/Component/ES/Worker/WorkerInterface.php | 15 -\n app/Component/ElasticSearch/Contract/Searchable.php | 4 +\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-\n app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-\n app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-\n app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-\n app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-\n app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-\n app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +\n app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +\n app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +\n app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +\n app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-\n app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-\n app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +\n app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-\n app/Console/Commands/Activities/Copy.php | 2 +\n app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++\n app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-\n app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++\n app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -\n app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-\n app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-\n app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-\n app/Console/Commands/IssueMcpTokenCommand.php | 84 +++\n app/Console/Commands/JiminnyDebugCommand.php | 7 +-\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-\n app/Console/Kernel.php | 6 +-\n app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-\n app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +\n app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-\n app/Http/Controllers/API/TeamAiAutomationController.php | 8 +\n app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-\n app/Http/Controllers/Kiosk/ActivityController.php | 58 +-\n app/Http/Controllers/Settings/PlaybookController.php | 15 +-\n app/Http/Kernel.php | 23 +\n app/Http/Middleware/McpAuditMiddleware.php | 156 ++++\n app/Http/Middleware/McpTierMiddleware.php | 54 ++\n app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-\n app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-\n app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-\n app/Jobs/Calendar/SetupCalendarSync.php | 21 +-\n app/Jobs/ImportRemoteTrackJob.php | 96 ++-\n app/Jobs/Mailbox/EmailTextRelay.php | 15 +-\n app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +\n app/Mcp/DTO/ListCallsFilters.php | 29 +\n app/Mcp/Errors/McpError.php | 123 ++++\n app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++\n app/Mcp/Repositories/McpCallRepository.php | 84 +++\n app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++\n app/Mcp/Servers/JiminnyServer.php | 38 +\n app/Mcp/Tools/ListCallsTool.php | 205 ++++++\n app/Models/Activity.php | 10 +-\n app/Models/Activity/Transcription.php | 17 +-\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +\n app/Models/Participant.php | 1 +\n app/Providers/AppServiceProvider.php | 22 +\n app/Repositories/Crm/ContactRepository.php | 69 +-\n app/Repositories/ParticipantSpeechRepository.php | 13 +-\n app/Services/Activity/ParticipantsService.php | 19 +-\n app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++\n app/Services/ActivityService.php | 21 +-\n app/Services/Calendar/CalendarActivityService.php | 46 ++\n app/Services/Calendar/Command/ImportParticipants.php | 1 +\n app/Services/Calendar/Command/MapActivityData.php | 106 +--\n app/Services/Calendar/GoogleCalendarService.php | 12 +-\n app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-\n app/Services/Crm/Close/Service.php | 22 +-\n app/Services/Crm/Copper/Service.php | 12 +-\n app/Services/Crm/Hubspot/Service.php | 154 +++-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-\n app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-\n app/Services/Crm/Pipedrive/Service.php | 17 +-\n app/Services/Crm/Salesforce/Service.php | 42 +-\n app/Services/Mail/Office/EmailApiClient.php | 129 +---\n app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-\n app/Services/RecallAI/RecallAIService.php | 22 +-\n composer.json | 3 +-\n composer.lock | 87 ++-\n config/mcp.php | 23 +\n database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +\n docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++\n docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++\n docs/mcp/explorer/generate.js | 215 ++++++\n docs/mcp/explorer/tool-explorer-meta.json | 11 +\n docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n docs/mcp/tools.md | 621 ++++++++++++++++\n front-end/package.json | 4 +-\n front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-\n front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +\n front-end/src/components/playback/comments/ActivityComment.less | 10 +-\n front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-\n front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +\n front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +\n front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +\n front-end/yarn.lock | 16 +-\n phpstan-baseline.neon | 50 --\n routes/api.php | 11 +\n sonar-project.properties | 91 ++-\n tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++\n tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-\n tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++\n tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++\n tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++\n tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +\n tests/Stubs/SentryStub.php | 18 +\n tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-\n tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-\n tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++\n tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++\n tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-\n tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++\n tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----\n tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++\n tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-\n tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --\n tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----\n tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---\n tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---\n tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-\n tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---\n tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-\n tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-\n tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++\n tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++\n tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-\n tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-\n tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-\n tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++\n tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-\n tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-\n tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -\n tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-\n tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++\n tests/Unit/Services/ActivityServiceTest.php | 132 ++++\n tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-\n tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-\n tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-\n tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++\n tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++\n tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-\n tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-\n tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++\n tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +\n tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++\n tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---\n tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-\n 175 files changed, 12562 insertions(+), 2162 deletions(-)\n create mode 120000 CLAUDE.md\n create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php\n delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php\n delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php\n delete mode 100644 app/Component/ES/Worker/ActivityWorker.php\n delete mode 100644 app/Component/ES/Worker/EntityWorker.php\n delete mode 100644 app/Component/ES/Worker/WorkerAmount.php\n delete mode 100644 app/Component/ES/Worker/WorkerInterface.php\n create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php\n create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php\n create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php\n create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php\n delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php\n create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php\n create mode 100644 app/Http/Middleware/McpAuditMiddleware.php\n create mode 100644 app/Http/Middleware/McpTierMiddleware.php\n create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php\n create mode 100644 app/Mcp/DTO/ListCallsFilters.php\n create mode 100644 app/Mcp/Errors/McpError.php\n create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php\n create mode 100644 app/Mcp/Repositories/McpCallRepository.php\n create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php\n create mode 100644 app/Mcp/Servers/JiminnyServer.php\n create mode 100644 app/Mcp/Tools/ListCallsTool.php\n create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php\n create mode 100644 config/mcp.php\n create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php\n create mode 100644 docs/mcp/explorer/explorer.html\n create mode 100644 docs/mcp/explorer/explorer.template.html\n create mode 100644 docs/mcp/explorer/generate.js\n create mode 100644 docs/mcp/explorer/tool-explorer-meta.json\n create mode 100644 docs/mcp/tools-list.json\n create mode 100644 docs/mcp/tools.md\n create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts\n create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php\n create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php\n create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php\n create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php\n create mode 100644 tests/Stubs/SentryStub.php\n create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php\n create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php\n delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php\n delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php\n create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php\n create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php\n create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch master\nYour branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.\n (use \"git pull\" to update your local branch)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/Constants.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/SCIM/ScimProvisioning.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/DTO/SCIM/AAD/Response/CoreUser.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Telephony/TextMessagingService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Component/SCIM/Mutators/Attributes/User/RoleAttr.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 306, done.\nremote: Counting objects: 100% (299/299), done.\nremote: Compressing objects: 100% (183/183), done.\nremote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)\nReceiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.\nResolving deltas: 100% (213/213), completed with 53 local objects.\nFrom github.com:jiminny/app\n 90bca4e4b2..5604af40cf master -> origin/master\n 4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup\n c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings\n d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater\n * [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip\n * [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519\nUpdating cb4ebf0c36..5604af40cf\nFast-forward\n app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++\n app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-\n app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---\n app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----\n app/Exceptions/RateLimitException.php | 19 ++++++-\n app/Http/Middleware/McpTierMiddleware.php | 27 ++--------\n app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----\n app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++\n app/Mcp/Servers/JiminnyServer.php | 2 +\n app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n app/Models/Feature/FeatureEnum.php | 1 +\n app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-\n app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-\n app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-\n app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-\n app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------\n app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++\n app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++\n app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----\n app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-\n database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++\n tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++\n tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-\n tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-\n tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++\n tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---\n tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------\n tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-\n tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++\n tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--\n tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------\n 37 files changed, 1587 insertions(+), 344 deletions(-)\n create mode 100644 app/Component/ES/ChunkSize.php\n create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php\n create mode 100644 app/Mcp/Tools/GetMeTool.php\n create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php\n create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php\n create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php\n create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php\n create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects\nSwitched to a new branch 'JY-20676-delete-report-related-objects'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php\n@@ -23,6 +23,7 @@\n \n if ($action === 'redis-set') {\n $this->testRedisSet();\n+\n return;\n }\n \n@@ -45,7 +46,7 @@\n $ttl = 60;\n \n try {\n-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');\n $result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);\n \n if ($result) {\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 50.673 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-audio:worker-audio_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker:worker_00: started\nworker-analytics:worker-analytics_00: started\nworker-audio:worker-audio_00: started\nworker-calendar:worker-calendar_00: started\nworker-conferences:worker-conferences_00: started\nworker-crm-sync:worker-crm-sync_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-emails:worker-emails_00: started\nworker-es-update:worker-es-update_00: started\nworker-nudges:worker-nudges_00: started\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git status\nOn branch JY-20676-delete-report-related-objects\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git push -u origin JY-20676-delete-report-related-objects\nEnumerating objects: 45, done.\nCounting objects: 100% (45/45), done.\nDelta compression using up to 8 threads\nCompressing objects: 100% (24/24), done.\nWriting objects: 100% (24/24), 3.62 KiB | 3.62 MiB/s, done.\nTotal 24 (delta 19), reused 0 (delta 0), pack-reused 0\nremote: Resolving deltas: 100% (19/19), completed with 19 local objects.\nremote: \nremote: Create a pull request for 'JY-20676-delete-report-related-objects' on GitHub by visiting:\nremote: https://github.com/jiminny/app/pull/new/JY-20676-delete-report-related-objects\nremote: \nTo github.com:jiminny/app.git\n * [new branch] JY-20676-delete-report-related-objects -> JY-20676-delete-report-related-objects\nbranch 'JY-20676-delete-report-related-objects' set up to track 'origin/JY-20676-delete-report-related-objects'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n 1) app/Http/Controllers/API/V2/AskJiminnyReportsController.php (blank_line_before_statement)\n ---------- begin diff ----------\n--- /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n+++ /home/jiminny/app/Http/Controllers/API/V2/AskJiminnyReportsController.php\n@@ -140,6 +140,7 @@\n if ($enabled && $report->isAskJiminnyReport() && ! $report->canExecute()) {\n $error = 'This report is missing a saved search or prompt. ' .\n 'Edit the report to complete the setup before enabling it.';\n+\n return new JsonResponse(\n ['error' => $error],\n Response::HTTP_UNPROCESSABLE_ENTITY\n\n ----------- end diff -----------\n\n\nFixed 1 of 5690 files in 71.757 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ git pull\nremote: Enumerating objects: 158, done.\nremote: Counting objects: 100% (103/103), done.\nremote: Compressing objects: 100% (37/37), done.\nremote: Total 158 (delta 80), reused 74 (delta 66), pack-reused 55 (from 3)\nReceiving objects: 100% (158/158), 80.59 KiB | 982.00 KiB/s, done.\nResolving deltas: 100% (85/85), completed with 45 local objects.\nFrom github.com:jiminny/app\n 02a33811ee..c6ce5e2440 JY-20676-delete-report-related-objects -> origin/JY-20676-delete-report-related-objects\n 7ce96cb5fe..6c59f04358 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n 3906a9238a..2b5e6ea62b JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details\n 5604af40cf..ea3519f0e2 master -> origin/master\n * [new branch] switch-eu-assembly -> origin/switch-eu-assembly\nUpdating 02a33811ee..c6ce5e2440\nFast-forward\n app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 48 ---\n app/Component/ParticipantSpeech/Services/ParticipantAttributionService.php | 4 +-\n app/Component/Settings/AutoScoring/Services/UpdateAutoScoreService.php | 20 +-\n app/Component/Transcription/Service/StorageService.php | 8 +-\n front-end/package.json | 2 +-\n front-end/src/components/DealInsights/Modals/AskAnythingModal.vue | 23 ++\n front-end/src/components/shared/AskAnything/AskAnythingPromptFormItem.vue | 2 +\n front-end/src/components/shared/AskAnything/AskAnythingSettingsDrawer.vue | 23 +-\n front-end/src/components/shared/AskAnything/__mocks__/AskAnythingSettingsDrawer.mocks.js | 1 +\n front-end/src/components/shared/AskAnything/__tests__/AskAnythingSettingsDrawer.spec.js | 135 ++++---\n front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.html | 1235 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.snap | 1382 ----------------------------------------------------------------\n front-end/src/components/shared/AskAnything/prompts.js | 1 +\n front-end/src/components/shared/AskAnything/useAskAnything.js | 1 +\n front-end/yarn.lock | 8 +-\n tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.php | 42 --\n tests/Unit/Component/Settings/AutoScoring/Services/UpdateAutoScoreServiceTest.php | 86 ++--\n tests/Unit/Component/Transcription/Service/StorageServiceTest.php | 29 +-\n 18 files changed, 1448 insertions(+), 1602 deletions(-)\n delete mode 100644 app/Component/ES/ElasticSearchDocumentPartialUpdater.php\n create mode 100644 front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.html\n delete mode 100644 front-end/src/components/shared/AskAnything/__tests__/__snapshots__/AskAnythingSettingsDrawer.spec.js.snap\n delete mode 100644 tests/Unit/Component/ES/ElasticSearchDocumentPartialUpdaterTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 0/5688 [░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 0%","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.094913565,"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 (docker)","depth":2,"bounds":{"left":0.36519283,"top":1.0,"width":0.094913565,"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.3671875,"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 (docker)","depth":2,"bounds":{"left":0.46010637,"top":1.0,"width":0.09474734,"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.46210107,"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.55485374,"top":1.0,"width":0.09474734,"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.5568484,"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.64960104,"top":1.0,"width":0.09474734,"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.6515958,"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.7307181,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (docker)","depth":1,"bounds":{"left":0.49634308,"top":1.0,"width":0.029920213,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
2802650493718167367
|
-1358120912881272742
|
idle
|
accessibility
|
NULL
|
Last login: Mon May 18 09:17:28 on ttys007
Poetry Last login: Mon May 18 09:17:28 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
error: Your local changes to the following files would be overwritten by checkout:
PIPEDRIVE_V2_MIGRATION_TICKETS.md
Please commit your changes or stash them before you switch branches.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ git pull
remote: Enumerating objects: 1047, done.
remote: Counting objects: 100% (832/832), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 1047 (delta 634), reused 596 (delta 534), pack-reused 215 (from 3)
Receiving objects: 100% (1047/1047), 353.16 KiB | 1.56 MiB/s, done.
Resolving deltas: 100% (687/687), completed with 107 local objects.
From github.com:jiminny/app
907c54896c..34656c53ed pipedrive-sdk-poc -> origin/pipedrive-sdk-poc
03325ec50f..4e7078fd8b JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
e7d231e163..bc6a3fce6b JY-20725-handle-HS-search-rate-limit -> origin/JY-20725-handle-HS-search-rate-limit
* [new branch] JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
98ca281a04..e0351be069 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
569abb5149..3906a9238a JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details -> origin/JY-20835-mcp-enable-users-to-get-a-list-of-deals-and-their-details
ad6c2a86e8..50eb6afba9 JY-20846-mcp-enable-the-ai-to-know-details-about-the-user -> origin/JY-20846-mcp-enable-the-ai-to-know-details-about-the-user
* [new branch] JY-20893-chunk-control-per-update-target -> origin/JY-20893-chunk-control-per-update-target
31c62924a5..cb4ebf0c36 master -> origin/master
Updating 907c54896c..34656c53ed
Fast-forward
PIPEDRIVE_V2_MIGRATION_TICKETS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (pipedrive-sdk-poc) $ co master
M .env.local
M config/logging.php
Switched to branch 'master'
Your branch is behind 'origin/master' by 31 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 31c62924a5..cb4ebf0c36
Fast-forward
app/Component/ES/Processor/Traits/SelectEntityListTrait.php | 20 ------
app/Services/Calendar/CalendarActivityService.php | 46 +++++++++++++
app/Services/Calendar/Command/MapActivityData.php | 106 +++-------------------------
docs/mcp/explorer/explorer.html | 104 +++++++++++++++++++++++++---
docs/mcp/explorer/explorer.template.html | 102 ++++++++++++++++++++++++---
docs/mcp/tools-list.json | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
docs/mcp/tools.md | 117 +++++++++++++++++++++++--------
tests/Unit/Component/ES/AsyncUpdateElasticSearchTest.php | 16 +----
tests/Unit/Component/ES/Listeners/UpdateMultipleTargetsListenerTest.php | 10 ---
tests/Unit/Component/ES/Listeners/UpdateSingleTargetListenerTest.php | 6 --
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 9 ---
tests/Unit/Component/ES/Processor/Traits/SelectEntityListTraitTest.php | 15 ++--
tests/Unit/Component/ES/UpdateProcessManagerTest.php | 2 -
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 ++++++++++++++++++++++++++++++++++++++--
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 ++-------------------
15 files changed, 832 insertions(+), 322 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20613-allow-owner-role-on-team-setup
Switched to a new branch 'JY-20613-allow-owner-role-on-team-setup'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 56.978 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5682/5682 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5682 files in 49.910 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git pull
remote: Enumerating objects: 248, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 59 (delta 43), reused 44 (delta 33), pack-reused 0 (from 0)
Unpacking objects: 100% (59/59), 10.48 KiB | 228.00 KiB/s, done.
From github.com:jiminny/app
b7df560451..190239dfd4 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
e0351be069..d94a285ae7 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20920-fix-participant-matcher -> origin/JY-20920-fix-participant-matcher
cb4ebf0c36..90bca4e4b2 master -> origin/master
Merge made by the 'ort' strategy.
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++++----
app/Http/Middleware/McpTierMiddleware.php | 27 +++-----------
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++++++
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 52 ++++++++++++++++++--------
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 14 +++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 +++++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 ++++++++++----
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 +++++++++++---------
16 files changed, 557 insertions(+), 75 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ git push
Enumerating objects: 40, done.
Counting objects: 100% (34/34), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.58 KiB | 1.58 MiB/s, done.
Total 18 (delta 15), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (15/15), completed with 13 local objects.
To github.com:jiminny/app.git
190239dfd4..ec1b261264 JY-20613-allow-owner-role-on-team-setup -> JY-20613-allow-owner-role-on-team-setup
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ gbr
* JY-20613-allow-owner-role-on-team-setup
pipedrive-sdk-poc
master
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20725-handle-HS-search-rate-limit
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20613-allow-owner-role-on-team-setup) $ co JY-20725-handle-HS-search-rate-limit
M .env.local
M config/logging.php
Switched to branch 'JY-20725-handle-HS-search-rate-limit'
Your branch is behind 'origin/JY-20725-handle-HS-search-rate-limit' by 439 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git pull
Updating 0f3e438941..bc6a3fce6b
Fast-forward
.gitignore | 3 +-
.windsurfrules | 168 ++---
CLAUDE.md | 1 +
app/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetsFromTranscription.php | 24 +-
app/Component/AiActivityType/Services/AiActivityTypeEligibilityChecker.php | 28 +-
app/Component/AiAutomation/Actions/PrepareUpdateDtoAction.php | 32 +-
app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php | 47 ++
app/Component/AiAutomation/TestCrmAiPromptService.php | 14 +
app/Component/AiCallScoring/Services/AiCallScoringEligibilityChecker.php | 9 +
app/Component/ES/ElasticSearchDocumentPartialUpdater.php | 13 +-
app/Component/ES/ElasticSearchWorkerManager.php | 86 ---
app/Component/ES/Processor/Actions/LoadDocumentsAction.php | 80 +--
app/Component/ES/Processor/EntityQueryBuilder.php | 12 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 2 +-
app/Component/ES/Processor/Traits/SkipActivityTrait.php | 25 -
app/Component/ES/Repositories/EsResetActivityRepository.php | 11 +-
app/Component/ES/Worker/ActivityWorker.php | 73 --
app/Component/ES/Worker/EntityWorker.php | 44 --
app/Component/ES/Worker/WorkerAmount.php | 60 --
app/Component/ES/Worker/WorkerInterface.php | 15 -
app/Component/ElasticSearch/Contract/Searchable.php | 4 +
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 20 +-
app/Component/Encoding/Service/GenerateSpeechFromSilenceService.php | 85 ++-
app/Component/FFMpeg/Services/GetSpeechIntervalsService.php | 18 +-
app/Component/LanguageDetection/Services/FindSpeechTimeService.php | 22 +-
app/Component/Nudge/Job/ProcessOrganisationImmediateNudgesJob.php | 218 +++++-
app/Component/ParagraphBreaker/Services/TranscriptionParagraphsService.php | 4 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesCreator.php | 33 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleter.php | 15 +
app/Component/ParticipantSpeech/Services/ParticipantSpeechesProvider.php | 51 +-
app/Component/ParticipantSpeech/Services/ParticipantSpeechesUploader.php | 36 +
app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php | 11 +
app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/SuccessfulResponse.php | 6 +
app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php | 11 +
app/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesService.php | 23 +-
app/Component/Transcription/Diarization/Source/MeetingBotSource.php | 16 +-
app/Component/Transcription/TranscriptionProcessor/TranscriptionProcessor.php | 3 +
app/Console/Commands/Activities/ActivityHardDeleteCommand.php | 4 +-
app/Console/Commands/Activities/Copy.php | 2 +
app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php | 119 ++++
app/Console/Commands/Activities/UpdateActivityElasticSearchDocumentCommand.php | 10 +-
app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php | 126 ++++
app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php | 19 -
app/Console/Commands/Elasticsearch/AsyncUpdateEsEntities.php | 50 +-
app/Console/Commands/Elasticsearch/ResetAsyncElasticSearchCommand.php | 30 +-
app/Console/Commands/GeckoExport/GeckoExportParticipantSpeechesCommand.php | 14 +-
app/Console/Commands/IssueMcpTokenCommand.php | 84 +++
app/Console/Commands/JiminnyDebugCommand.php | 7 +-
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 2 +-
app/Console/Kernel.php | 6 +-
app/Contracts/Services/Calendar/CalendarTrait.php | 80 ++-
app/Events/AutomatedReports/AutomatedReportGenerated.php | 3 +
app/Http/Controllers/API/AiCallScoring/AiScorecardController.php | 7 +-
app/Http/Controllers/API/TeamAiAutomationController.php | 8 +
app/Http/Controllers/CustomerApi/CustomerApiController.php | 4 +-
app/Http/Controllers/Kiosk/ActivityController.php | 58 +-
app/Http/Controllers/Settings/PlaybookController.php | 15 +-
app/Http/Kernel.php | 23 +
app/Http/Middleware/McpAuditMiddleware.php | 156 ++++
app/Http/Middleware/McpTierMiddleware.php | 54 ++
app/Http/Requests/API/V2/ZapierUploadActivityRequest.php | 28 +-
app/Jobs/Activity/Import/ImportTwilioVideoSpeechesJob.php | 25 +-
app/Jobs/Activity/Import/IsActivityReadyForProcessingJob.php | 10 +-
app/Jobs/Calendar/SetupCalendarSync.php | 21 +-
app/Jobs/ImportRemoteTrackJob.php | 96 ++-
app/Jobs/Mailbox/EmailTextRelay.php | 15 +-
app/Mcp/Contracts/McpCallRepositoryInterface.php | 30 +
app/Mcp/DTO/ListCallsFilters.php | 29 +
app/Mcp/Errors/McpError.php | 123 ++++
app/Mcp/Repositories/McpActivityHydrator.php | 145 ++++
app/Mcp/Repositories/McpCallRepository.php | 84 +++
app/Mcp/Repositories/McpElasticCallRepository.php | 171 +++++
app/Mcp/Servers/JiminnyServer.php | 38 +
app/Mcp/Tools/ListCallsTool.php | 205 ++++++
app/Models/Activity.php | 10 +-
app/Models/Activity/Transcription.php | 17 +-
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 5 +
app/Models/Participant.php | 1 +
app/Providers/AppServiceProvider.php | 22 +
app/Repositories/Crm/ContactRepository.php | 69 +-
app/Repositories/ParticipantSpeechRepository.php | 13 +-
app/Services/Activity/ParticipantsService.php | 19 +-
app/Services/Activity/Twilio/S3RecordingCredentialsService.php | 82 +++
app/Services/ActivityService.php | 21 +-
app/Services/Calendar/CalendarActivityService.php | 46 ++
app/Services/Calendar/Command/ImportParticipants.php | 1 +
app/Services/Calendar/Command/MapActivityData.php | 106 +--
app/Services/Calendar/GoogleCalendarService.php | 12 +-
app/Services/Crm/Close/Processor/OpportunityProcessor.php | 2 +-
app/Services/Crm/Close/Service.php | 22 +-
app/Services/Crm/Copper/Service.php | 12 +-
app/Services/Crm/Hubspot/Service.php | 154 +++-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 88 ++-
app/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTrait.php | 22 +-
app/Services/Crm/Pipedrive/Service.php | 17 +-
app/Services/Crm/Salesforce/Service.php | 42 +-
app/Services/Mail/Office/EmailApiClient.php | 129 +---
app/Services/RecallAI/Commands/ScheduleBotCommand.php | 39 +-
app/Services/RecallAI/RecallAIService.php | 22 +-
composer.json | 3 +-
composer.lock | 87 ++-
config/mcp.php | 23 +
database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php | 36 +
docs/mcp/explorer/explorer.html | 697 ++++++++++++++++++
docs/mcp/explorer/explorer.template.html | 697 ++++++++++++++++++
docs/mcp/explorer/generate.js | 215 ++++++
docs/mcp/explorer/tool-explorer-meta.json | 11 +
docs/mcp/tools-list.json | 2536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
docs/mcp/tools.md | 621 ++++++++++++++++
front-end/package.json | 4 +-
front-end/src/components/Settings/OrgSettings/AiAutomation/CrmFilling/TemplateFieldForm.vue | 28 +-
front-end/src/components/Settings/OrgSettings/Playbooks/AddEditPlaybook.vue | 10 +
front-end/src/components/playback/comments/ActivityComment.less | 10 +-
front-end/src/components/shared/PromptTester/PromptTester.vue | 12 +-
front-end/src/components/shared/__tests__/PromptTester.spec.js | 35 +
front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts | 37 +
front-end/src/components/shared/modals/EntityPickerModal/useEntitiesCache.ts | 9 +
front-end/yarn.lock | 16 +-
phpstan-baseline.neon | 50 --
routes/api.php | 11 +
sonar-project.properties | 91 ++-
tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php | 534 ++++++++++++++
tests/Feature/Jobs/ImportRemoteTrackJobTest.php | 283 +++++++-
tests/Feature/Mcp/IssueMcpTokenCommandTest.php | 53 ++
tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php | 155 ++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 352 ++++++++++
tests/Feature/Mcp/McpTestHelpersTrait.php | 77 ++
tests/Feature/Services/Team/TeamDeleteHandlers/Retention/RetentionRepositoryHandlerTest.php | 1 +
tests/Stubs/SentryStub.php | 18 +
tests/Unit/Component/ActivityAnalytics/Service/CalculateTalkTimeOffsetFromTranscriptionTest.php | 28 +-
tests/Unit/Component/AiActivityType/Services/AiActivityTypeEligibilityCheckerTest.php | 103 ++-
tests/Unit/Component/AiAutomation/Actions/PrepareUpdateDtoActionTest.php | 91 +++
tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php | 124 ++++
tests/Unit/Component/AiAutomation/TestCrmAiPromptServiceTest.php | 67 +-
tests/Unit/Component/AiCallScoring/Services/AiCallScoringEligibilityCheckerTest.php | 55 ++
tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php | 135 ----
tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php | 220 ++++++
tests/Unit/Component/ES/Processor/EntityQueryBuilderTest.php | 21 +-
tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php | 51 --
tests/Unit/Component/ES/Worker/ActivityWorkerTest.php | 174 -----
tests/Unit/Component/ES/Worker/EntityWorkerTest.php | 97 ---
tests/Unit/Component/ES/Worker/WorkerAmountTest.php | 116 ---
tests/Unit/Component/Encoding/Job/AnalyzeTrackChannelsJobTest.php | 52 +-
tests/Unit/Component/Encoding/Service/GenerateSpeechFromSilenceServiceTest.php | 171 ++---
tests/Unit/Component/FFMpeg/Services/GetSpeechIntervalsTest.php | 36 +-
tests/Unit/Component/LanguageDetection/Services/FindSpeechTimeServiceTest.php | 20 +-
tests/Unit/Component/MobileSettings/MobileSettingsControllerTest.php | 5 +-
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php | 75 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesDeleterTest.php | 63 ++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesProviderTest.php | 134 ++++
tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesUploaderTest.php | 57 ++
tests/Unit/Component/Transcription/Diarization/Services/GetNormalizedParticipantSpeechesServiceTest.php | 51 +-
tests/Unit/Component/Transcription/Diarization/Source/MeetingBotSourceTest.php | 29 +-
tests/Unit/Contracts/Services/Calendar/CalendarTraitTest.php | 58 +-
tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php | 159 +++++
tests/Unit/Jobs/Activity/Import/ImportTwilioVideoSpeechesJobTest.php | 22 +-
tests/Unit/Jobs/Activity/Import/IsActivityReadyForProcessingJobTest.php | 26 +-
tests/Unit/Jobs/Calendar/SetupCalendarSyncTest.php | 25 -
tests/Unit/Services/Activity/ParticipantsServiceTest.php | 12 +-
tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php | 180 +++++
tests/Unit/Services/ActivityServiceTest.php | 132 ++++
tests/Unit/Services/Calendar/CalendarActivityServiceTest.php | 150 +++-
tests/Unit/Services/Calendar/Command/ImportParticipantsTest.php | 6 +-
tests/Unit/Services/Calendar/Command/MapActivityDataTest.php | 78 +-
tests/Unit/Services/Calendar/GoogleCalendarServiceTest.php | 116 +++
tests/Unit/Services/Crm/Close/ServiceTest.php | 165 +++++
tests/Unit/Services/Crm/Hubspot/ServiceTest.php | 272 ++++++-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTest.php | 25 +-
tests/Unit/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTraitMatchActivitiesTest.php | 3 +-
tests/Unit/Services/Crm/IntegrationApp/ServiceTraits/SyncCrmEntitiesTraitOpportunitiesTest.php | 40 ++
tests/Unit/Services/Crm/Pipedrive/ImportOpportunityMatchActivitiesTest.php | 2 +
tests/Unit/Services/Crm/Salesforce/ServiceTest.php | 139 ++++
tests/Unit/Services/Mail/Office/EmailApiClientTest.php | 195 ++---
tests/Unit/Services/RecallAI/RecallAIServiceTest.php | 24 +-
175 files changed, 12562 insertions(+), 2162 deletions(-)
create mode 120000 CLAUDE.md
create mode 100644 app/Component/AiAutomation/Services/CrmFillingEligibilityChecker.php
delete mode 100644 app/Component/ES/ElasticSearchWorkerManager.php
delete mode 100644 app/Component/ES/Processor/Traits/SkipActivityTrait.php
delete mode 100644 app/Component/ES/Worker/ActivityWorker.php
delete mode 100644 app/Component/ES/Worker/EntityWorker.php
delete mode 100644 app/Component/ES/Worker/WorkerAmount.php
delete mode 100644 app/Component/ES/Worker/WorkerInterface.php
create mode 100644 app/Component/ProphetAi/Exceptions/InsufficientTranscriptException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/AssemblyAI/AssemblyAI/NoAssemblyIdException.php
create mode 100644 app/Component/Transcription/DTO/Http/Transcription/TranscriptionIsNotCorrectFormatException.php
create mode 100644 app/Console/Commands/Activities/SetupIntegration/TwilioSetS3RecordingCredentialsCommand.php
create mode 100644 app/Console/Commands/Crm/BackfillOpportunityUserFromAccountCommand.php
delete mode 100644 app/Console/Commands/Elasticsearch/AsyncUpdateEsActivities.php
create mode 100644 app/Console/Commands/IssueMcpTokenCommand.php
create mode 100644 app/Http/Middleware/McpAuditMiddleware.php
create mode 100644 app/Http/Middleware/McpTierMiddleware.php
create mode 100644 app/Mcp/Contracts/McpCallRepositoryInterface.php
create mode 100644 app/Mcp/DTO/ListCallsFilters.php
create mode 100644 app/Mcp/Errors/McpError.php
create mode 100644 app/Mcp/Repositories/McpActivityHydrator.php
create mode 100644 app/Mcp/Repositories/McpCallRepository.php
create mode 100644 app/Mcp/Repositories/McpElasticCallRepository.php
create mode 100644 app/Mcp/Servers/JiminnyServer.php
create mode 100644 app/Mcp/Tools/ListCallsTool.php
create mode 100644 app/Services/Activity/Twilio/S3RecordingCredentialsService.php
create mode 100644 config/mcp.php
create mode 100644 database/migrations/2026_04_30_120000_create_mcp_audit_log_table.php
create mode 100644 docs/mcp/explorer/explorer.html
create mode 100644 docs/mcp/explorer/explorer.template.html
create mode 100644 docs/mcp/explorer/generate.js
create mode 100644 docs/mcp/explorer/tool-explorer-meta.json
create mode 100644 docs/mcp/tools-list.json
create mode 100644 docs/mcp/tools.md
create mode 100644 front-end/src/components/shared/modals/EntityPickerModal/__tests__/useEntitiesCache.spec.ts
create mode 100644 tests/Feature/Component/Nudge/ProcessOrganisationImmediateNudgesJobTest.php
create mode 100644 tests/Feature/Mcp/IssueMcpTokenCommandTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolElasticFeatureTest.php
create mode 100644 tests/Feature/Mcp/ListCallsToolFeatureTest.php
create mode 100644 tests/Feature/Mcp/McpTestHelpersTrait.php
create mode 100644 tests/Stubs/SentryStub.php
create mode 100644 tests/Unit/Component/AiAutomation/Services/CrmFillingEligibilityCheckerTest.php
delete mode 100644 tests/Unit/Component/ES/ElasticSearchWorkerManagerTest.php
create mode 100644 tests/Unit/Component/ES/Processor/Actions/LoadDocumentsActionTest.php
delete mode 100644 tests/Unit/Component/ES/Processor/Traits/SkipActivityTraitTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/ActivityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/EntityWorkerTest.php
delete mode 100644 tests/Unit/Component/ES/Worker/WorkerAmountTest.php
create mode 100644 tests/Unit/Component/ParticipantSpeech/Services/ParticipantSpeechesCreatorTest.php
create mode 100644 tests/Unit/Http/Controllers/Kiosk/ActivityControllerTest.php
create mode 100644 tests/Unit/Services/Activity/Twilio/S3RecordingCredentialsServiceTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch master
Your branch is behind 'origin/master' by 114 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Component/SCIM/Constants.php
modified: app/Component/SCIM/ScimProvisioning.php
modified: app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/DTO/SCIM/AAD/Request/CoreUserRequest.php
modified: app/DTO/SCIM/AAD/Response/CoreUser.php
modified: app/Services/Telephony/TextMessagingService.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Component/SCIM/Mutators/Attributes/User/RoleAttr.php
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
app/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRule.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Component/SCIM/Mutators/Attributes/User/RoleAttrTest.php
tests/Unit/Policies/CanAccessAiReportsTest.php
tests/Unit/Rules/ListenerRoleCannotHaveAdminOrManagerPermissionRuleTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 306, done.
remote: Counting objects: 100% (299/299), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 306 (delta 213), reused 171 (delta 116), pack-reused 7 (from 1)
Receiving objects: 100% (306/306), 80.12 KiB | 1000.00 KiB/s, done.
Resolving deltas: 100% (213/213), completed with 53 local objects.
From github.com:jiminny/app
90bca4e4b2..5604af40cf master -> origin/master
4e7078fd8b..0b8343d179 JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
098eeaa087..d5a447e492 JY-20613-allow-owner-role-on-team-setup -> origin/JY-20613-allow-owner-role-on-team-setup
c3a76ace91..af65249d0f JY-20749-user-can-view-recorded-meetings -> origin/JY-20749-user-can-view-recorded-meetings
d94a285ae7..7ce96cb5fe JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20842-remove-partial-updater -> origin/JY-20842-remove-partial-updater
* [new branch] JY-20920-fix-participant-flip -> origin/JY-20920-fix-participant-flip
* [new branch] secfix/npm-20260519 -> origin/secfix/npm-20260519
Updating cb4ebf0c36..5604af40cf
Fast-forward
app/Component/ES/ChunkSize.php | 54 +++++++++++++++++++
app/Component/ES/Processor/DTOs/SelectionList.php | 4 +-
app/Component/ES/Processor/TargetEntitiesSelector.php | 19 ++++---
app/Component/MeetingBot/Service/ParticipantMatcher.php | 46 ++++++++++++----
app/Exceptions/RateLimitException.php | 19 ++++++-
app/Http/Middleware/McpTierMiddleware.php | 27 ++--------
app/Jobs/Crm/MatchActivityCrmData.php | 47 ++++++++++++----
app/Jobs/Middleware/HandleHubspotRateLimit.php | 42 +++++++++++++++
app/Mcp/Servers/JiminnyServer.php | 2 +
app/Mcp/Tools/GetMeTool.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++
app/Models/Feature/FeatureEnum.php | 1 +
app/Services/Activity/HubSpot/ProviderResolver.php | 4 +-
app/Services/Activity/HubSpot/ProviderResolverInterface.php | 2 +-
app/Services/Activity/HubSpot/Providers/Provider.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderKixie.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderOrum.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilio.php | 2 +-
app/Services/Activity/HubSpot/Providers/ProviderTwilioFlex.php | 5 +-
app/Services/Activity/HubSpot/Service.php | 97 +++++++++++++++++++++++++++------
app/Services/Crm/Hubspot/Client.php | 132 +++++++++++++++++++++++++++++++++++++++++++++
app/Services/Crm/Hubspot/HubspotClientInterface.php | 15 ++++++
app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php | 21 ++++----
app/Services/Crm/Hubspot/Pagination/PaginationState.php | 2 +-
database/migrations/2026_05_13_124153_create_mcp_feature_flag.php | 25 +++++++++
tests/Feature/Mcp/GetMeToolFeatureTest.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Feature/Mcp/ListCallsToolFeatureTest.php | 2 +-
tests/Feature/Mcp/McpTestHelpersTrait.php | 19 ++++++-
tests/Unit/Component/ES/ChunkSizeTest.php | 50 +++++++++++++++++
tests/Unit/Component/ES/Processor/DTOs/SelectionListTest.php | 27 +++++++---
tests/Unit/Component/ES/Processor/TargetEntitiesSelectorTest.php | 39 ++++++++------
tests/Unit/Component/MeetingBot/Service/ParticipantMatcherTest.php | 68 ++++++++++++++++++++++-
tests/Unit/Exceptions/RateLimitExceptionTest.php | 56 +++++++++++++++++++
tests/Unit/Jobs/Crm/MatchActivityCrmDataTest.php | 8 +--
tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Activity/HubSpot/ServiceTest.php | 109 +++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ClientTest.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/Pagination/HubspotPaginationServiceTest.php | 283 +++++++++++++++++++++---------------------------------------------------------------------------
37 files changed, 1587 insertions(+), 344 deletions(-)
create mode 100644 app/Component/ES/ChunkSize.php
create mode 100644 app/Jobs/Middleware/HandleHubspotRateLimit.php
create mode 100644 app/Mcp/Tools/GetMeTool.php
create mode 100644 database/migrations/2026_05_13_124153_create_mcp_feature_flag.php
create mode 100644 tests/Feature/Mcp/GetMeToolFeatureTest.php
create mode 100644 tests/Unit/Component/ES/ChunkSizeTest.php
create mode 100644 tests/Unit/Exceptions/RateLimitExceptionTest.php
create mode 100644 tests/Unit/Jobs/Middleware/HandleHubspotRateLimitTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20676-delete-report-related-objects
Switched to a new branch 'JY-20676-delete-report-related-objects'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20676-delete-report-related-objects) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5690/5690 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1) app/Console/Commands/JiminnyDebugCommand.php (statement_indentation, blank_line_before_statement)
---------- begin diff ----------
--- /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
+++ /home/jiminny/app/Console/Commands/JiminnyDebugCommand.php
@@ -23,6 +23,7 @@
if ($action === 'redis-set') {
$this->testRedisSet();
+
return;
}
@@ -45,7 +46,7 @@
$ttl = 60;
try {
-// $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
+ // $result = Redis::set($testKey, $testValue, 'EX', $ttl, 'NX');
$result = Redis::set($testKey, $testValue, ['nx', 'ex' => $ttl]);
if ($result) {
----------- end diff -----------
Fixed 1 of 5690 files i...
|
58091
|
NULL
|
NULL
|
NULL
|