Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Core Dam Bundle Laravel Package

anzusystems/core-dam-bundle

View on GitHub
Deep Wiki
Context7
1.46.1

fix - gate ElevenLabs request stitching behind a per-model allowlist so unsupported models (e.g. eleven_v3) synthesize without previous_request_ids instead of returning HTTP 400; skip the chain-id query for non-stitching voices.

1.46.0

TTS Synthetic Audio

Adds a complete text-to-speech engine to the bundle: CMS articles (and admins) can request audio narration, which is synthesized via ElevenLabs or Google TTS, assembled into a playable audio asset, and optionally published as a podcast episode.

New

Synthesis pipeline

  • Content-addressed narration requests with idempotent dispatch — concurrent/duplicate requests resolve to pending / duplicate / already_pending instead of double synthesis
  • Text chunking within provider char limits; per-chunk synthesis over dedicated messenger workers (Pub/Sub), ffmpeg concat into master + preview audio
  • Regeneration with atomic asset swap: old audio stays valid until the new one is promoted; superseded files kept on a CDN-grace expireAt and reaped by cron
  • Stuck-state reconciliation (tts:cleanup-stuck) and expired-audio reaper (tts:clear-expired-audio) commands

Voice catalog

  • VoiceFamily / Voice entities with ElevenLabs and Google TTS variants (single-table discriminator), per-ext-system provider mode (auto / forced) and voice resolution cascade

API

  • Sys: POST /api/sys/v1/audio/narration (CMS dispatch; role-gated via ROLE_SYS_SYNTHETIZE)
  • Adm: tts-narration-request (synthesize/cancel/list), tts-asset (detail/unpublish), voice + voice-family CRUD — all ACL-gated via new DAM_TTS_* permissions
  • CMS callbacks (media status, generation failure) delivered via messenger pub/sub

Asset integration

  • ttsAudio asset flag projected through ES (filter + search), podcast-episode membership generalized and inheritable from asset metadata, TTS audit logging

Changed

  • PodcastRssReader rewritten to streaming XMLReader (fixes full-DOM OOM on large feeds)
  • PublicExport supports a licence collection (single assetLicence deprecated, kept in sync)
  • Keyword/author providers support deferred ES indexing for bulk writes

Host app requirements (core-dam companion PR)

  • 3 migrations: large-table INSTANT alters, TTS schema, idempotent data seed (licence, permissions, ROLE_SYS_SYNTHETIZE grant)
  • New messenger transport anzu_core_dam_tts, cms.tts_chunk storage, TTS crons, per-ext-system tts: config + provider credentials, Domain\Tts\Config service definition

Tests

  • Functional pipeline tests with real ffmpeg concat on real MP3 fixtures (mocked provider HTTP), failure/recovery and stuck-reconcile coverage, voice-resolution cascade, text chunker units, Sys controller contract tests
1.45.1

Fixed JobAuthorCurrentOptimizeProcessor duplicate rows early stop.

1.45.0

Added

  • mainFileInternal filter support in Asset Elasticsearch index and search

Changed

  • JobAuthorCurrentOptimizeProcessor — improved error handling and logging
1.44.0
  • JobAuthorCurrentOptimize job processing improvements
  • process also on assets authored by children of main author
  • update elasticsearch
1.43.0

Added

  • JobSynchronizeImageChanged job with POST /api/adm/v1/job/synchronize-image-changed endpoint for batch-notifying external systems about changed images
  • EqualExtSystemCollection universal validator for collections of ExtSystemInterface entities, applied on AssetLicence::$internalRuleAuthors
  • LicenceBulkJobTrait with shared bulk job properties (targetLicenceId, processFrom, processUntil, bulkSize)
  • Bulk metadata update support for mainFileInternal and mainFileOverrideInternal flags
  • Database index IDX_licence_created_at on Asset and AssetFile entities
  • TDM reservation header (tdm-reservation: 1) configurable per ext system image type
  • Per-ext-system PubSub notification toggle (notificationsEnabled config option)
  • AssetFileInternalRuleEvaluator and JobAssetFileReprocessInternalFlag

Changed

  • Notification dispatchers now respect per-ext-system notification toggle
  • UnsplashClient::getPhotoById() — fixed return type, removed duplicate API call

Fixed

  • AssetQueryFactory::applyRangeFilter() — truthiness check replaced with null check to correctly handle 0 values
  • AssetQueryFactory — added format: epoch_second to createdAt range filter for correct Elasticsearch date interpretation
1.42.3

Extend domain validation to include admin domain checks in AssetFileRouteController.

1.42.2

Asset elastic index for image, always move descr to title

1.42.1
  • admin domain not modified fix
  • Fixed domain compare in DomainProvider.
1.42.0

Changes:

  • ImageFile: now have new filed manipulatedAt, which is updated after rotate image, crud on image rois or reprocess optimal crop.
  • Elasticsearch reindex: add option --since which is supported by entity Asset
  • Logging imporvements: introduced journalLogger, improved exception logging by appLogger
  • Added new entity PodcastExportData which holds data for combination of DeviceType and ExportType. Entity also works with Anzutap body format

Dependency / Version Changes

  • Runtime
  • anzusystems/common-bundle: ^9.2 → ^10.3
  • anzusystems/anzutap-bundle: added ^0.10
  • Symfony core components: ^7.2 → ^7.3 (framework-bundle, dependency-injection, doctrine-bridge, http-kernel, http-client, messenger, validator, security-bundle, etc.)
  • symfony/monolog-bundle: added & pinned to ^3.11 (compatibility with mongo handler)
  • symfony/var-exporter: added ^7.3

Dev / Tooling

  • Removed: vimeo/psalm, psalm/plugin-symfony, weirdan/doctrine-psalm-plugin Added:
  • phpstan/phpstan: ^2.0
  • phpstan/phpstan-doctrine: ^2.0
  • phpstan/phpstan-symfony: ^2.0 Upgraded:
  • phpunit/phpunit: ^9.5 → ^12.0
  • rector/rector: ^1.0 → ^2.0
  • Kept: symplify/easy-coding-standard: ^12.1, slevomat/coding-standard: ^7.0
1.41.1
  • fixed default order when no order provided in elasticsearch
1.41.0
  • Introduces elasticsearch next (better search) solution
  • Dispatch asset changed event after import from RSS
  • Dispatch AssetRefreshPropertiesMessage after create PodcastEpisode with asset.
1.40.0

Features

  • Update PHP base image to anzusystems/php:4.1.0-php83-cli-vipsffmpeg with php 8.3.20
  • Add DOCKER_COMPOSE_SERVICE_NAME configuration support for flexible Docker service naming
  • Update anzusystems/common-bundle to ^9.2 with mongo 2.* support
  • Update petitpress/gps-messenger-bundle to ^3.2
  • Add full support for GOOGLE_PUBSUB_SA_KEY environment variable needed by updated petitpress/gps-messenger-bundle package
  • Standardize environment variable naming (DB_CORE_DAM_BUNDLE_* instead of DB_COMMONBUNDLE_*) for better consistency
  • Fix job processor method signatures to return bool instead of void for better error handling
  • Improve code quality with property visibility fixes and documentation updates

Fixes

  • Fix environment variable expansion in bin/* scripts (bash and build scripts)
1.39.0
  • Add ZIP mime type and refactor asset change detection logic
  • Update asset change detection logic to include authors comparison
1.38.0
  • Introduce AssetMetadataBulkEventDispatcher to handle bulk metadata changes and integrate it into relevant facades and workflows. *Refactor transaction handling in AssetFileRouteFacade and PodcastEpisodeFacade to ensure rollback only if transaction is active
1.37.0

add document support for ICC

1.36.0
  • Allow to define custom importFrom date when importing single podcast
  • Allow to define podcastId in src/Command/GeneratePodcastImportJobsCommand.php
1.35.0
  • rssUrl management feature
1.34.0
  • removed second level cache from entities
1.33.0
  • anzusystems/common-bundle-update
  • implemented AuditLogResourceHelper
  • implemented getEnvironments to Fixtures
  • AssetFacaded and AssetFileFacade callback canBeRemoved
1.32.0
  • sys api for create JobImageCopy
  • callback system triggered after JobImageCopy is finished
  • Expose enabled in ExtSystemAssetTypeAdmGetDecorator
1.31.2
  • Fixed AssetLicenceAwareVoter to work with null subject
  • Fixed AssetCopyEqualExtSystemValidator for not found values
1.31.0
  • Added AssetFileCopiedEvent and new notification asset_file_copied
1.30.3

Reverted default sort in AbstractQueryFactory.php

1.30.2

Fixed PublicExport.php create, assign ExtSystem

1.30.1
  • Fix manage PodcastEpisodeFlags
1.30.0
  • Fixed podcast episode rss duration
  • Default PodcastEpisodeDates value
1.29.0
  • added image origin file suffix 'orig'
  • allow to disable crop cache
  • optimal resizes quality set to 90
1.28.0
  • Distribution management admin
1.27.0
  • Api for update/remove Asset sibling
  • Introduced PublicExport entity
  • Added fields attributes.mobileOrderPosition, attributes.webOrderPosition, flags.mobilePublicExportEnabled, flags.webPublicExportEnabled to entities Podcast, PodcastEpisode, VideoShow, VideoShowEpisode
  • Refactored Distribution custom data factories
  • JwDistribution provides directSourceUrl
  • Added indexes to entities Podcast, PodcastEpisode, VideoShow, VideoShowEpisode
  • Author currentAuthors manage
  • Intruduced EntityIterator service
  • Elasticsearch
    • Asset search by customDataKey and customDataValue
    • Asset textSearch intruduced priority boosters
  • ImageLinksHandler - allow to export also public links
1.26.2

Fixed setting setLastProcessedId in index builder

1.26.1

Elastic rebuild fixes most dominant collor and specific fields refactor.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
graham-campbell/flysystem
capell-app/block-library
axium/identity
cetria/laravel-dummy-models
cetria/reflection-helper
agropredict/sso-auth-bundle
evolvestudio/spam-protection
directorytree/opensearch-client
directorytree/opensearch-adapter
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin