From 735054447c4acdeb6c5356309864200682e8fcec Mon Sep 17 00:00:00 2001
From: "github-action[bot]" <>
Date: Mon, 31 Aug 2026 16:55:20 +0000
Subject: [PATCH] Create Flex endpoint
---
gplanchat.durable-bundle.0.1.json | 67 +++++++++++++++++++++++++++++++
index.json | 20 +++++++++
2 files changed, 87 insertions(+)
create mode 100644 gplanchat.durable-bundle.0.1.json
create mode 100644 index.json
diff --git a/gplanchat.durable-bundle.0.1.json b/gplanchat.durable-bundle.0.1.json
new file mode 100644
index 00000000..073d92e0
--- /dev/null
+++ b/gplanchat.durable-bundle.0.1.json
@@ -0,0 +1,67 @@
+{
+ "manifests": {
+ "gplanchat/durable-bundle": {
+ "manifest": {
+ "bundles": {
+ "Gplanchat\\Durable\\Bundle\\DurableBundle": [
+ "all"
+ ]
+ },
+ "copy-from-recipe": {
+ "config/": "%CONFIG_DIR%/"
+ },
+ "env": {
+ "#1": "Where workflow resumes and activity runs are queued.",
+ "#2": "sync:// handles them in the same process, which matches the in_memory",
+ "#3": "backend the config starts from. Point them at a real transport",
+ "#4": "(doctrine://, amqp://, redis://) when you move the journal off memory.",
+ "MESSENGER_DURABLE_WORKFLOW_DSN": "sync://",
+ "MESSENGER_DURABLE_ACTIVITY_DSN": "sync://"
+ },
+ "post-install-output": [
+ " * Durable starts on the in_memory backend: workflows run, and are lost with the process.",
+ " Set event_store.type and workflow_metadata.type to dbal in",
+ " config/packages/durable.yaml to keep the journal in your database, and point the two",
+ " MESSENGER_DURABLE_*_DSN variables at a real transport.",
+ "",
+ " * Then run the workers:",
+ " php bin/console messenger:consume durable_workflows durable_activities",
+ "",
+ " * Documentation: https://durable.rocks/docs/getting-started/"
+ ]
+ },
+ "files": {
+ "config/packages/durable.yaml": {
+ "contents": [
+ "durable:",
+ " # in_memory keeps the journal in the PHP process: right for tests, lost on restart.",
+ " # Use dbal to keep it in your database, or set temporal.dsn to reach a Temporal cluster.",
+ " event_store:",
+ " type: in_memory",
+ " workflow_metadata:",
+ " type: in_memory",
+ " activity_transport:",
+ " type: messenger",
+ " transport_name: durable_activities",
+ "",
+ "framework:",
+ " messenger:",
+ " transports:",
+ " durable_workflows: '%env(MESSENGER_DURABLE_WORKFLOW_DSN)%'",
+ " durable_activities: '%env(MESSENGER_DURABLE_ACTIVITY_DSN)%'",
+ "",
+ " routing:",
+ " Gplanchat\\Durable\\Transport\\ResumeWorkflowMessage: durable_workflows",
+ " Gplanchat\\Durable\\Transport\\ActivityMessage: durable_activities",
+ " Gplanchat\\Durable\\Transport\\FireWorkflowTimersMessage: sync",
+ " Gplanchat\\Durable\\Transport\\DeliverWorkflowSignalMessage: sync",
+ " Gplanchat\\Durable\\Transport\\DeliverWorkflowUpdateMessage: sync",
+ ""
+ ],
+ "executable": false
+ }
+ },
+ "ref": "e438ab8d3b5aa6199ad13f3598acead044a4374b"
+ }
+ }
+}
diff --git a/index.json b/index.json
new file mode 100644
index 00000000..d49fec5d
--- /dev/null
+++ b/index.json
@@ -0,0 +1,20 @@
+{
+ "aliases": [],
+ "recipes": {
+ "gplanchat/durable-bundle": [
+ "0.1"
+ ]
+ },
+ "recipe-conflicts": [],
+ "versions": [],
+ "branch": "main",
+ "is_contrib": true,
+ "_links": {
+ "repository": "github.com/symfony/recipes-contrib",
+ "origin_template": "{package}:{version}@github.com/symfony/recipes-contrib:main",
+ "recipe_template": "https://raw.githubusercontent.com/symfony/recipes-contrib/flex/pull-2041/{package_dotted}.{version}.json",
+ "recipe_template_relative": "{package_dotted}.{version}.json",
+ "archived_recipes_template": "https://raw.githubusercontent.com/symfony/recipes-contrib/flex/pull-2041/archived/{package_dotted}/{ref}.json",
+ "archived_recipes_template_relative": "archived/{package_dotted}/{ref}.json"
+ }
+}