Harminder Virk
ff3885500c
fix: hooks auto-generated types to have precise input options ( #11886 )
2025-03-18 15:41:01 +05:30
Adrien de Peretti
72d2cf9207
fix(workflow-engines): race condition when retry interval is used ( #11771 )
2025-03-12 09:53:34 -03:00
Adrien de Peretti
84f991192e
feat(workflows-sdk): Allow when then in parallelize ( #11756 )
...
**What**
Update typings to allow using when then inside parallelize
2025-03-06 13:23:37 +00:00
Shahed Nasser
61a0e4f3cf
chore(workflows-sdk): fix examples in TSDocs ( #11689 )
2025-03-03 12:20:21 +02:00
Adrien de Peretti
c250de7919
chore(): Prevent sub workflow events release early + redis unlink ( #11641 )
...
**What**
- Prevent event release when a workflow is run as step and finish
- Use `unlink` instead of `del` when removing keys from redist to push the execution to async thread
2025-02-27 10:33:30 +00:00
Adrien de Peretti
7d8f6cf39f
fix(): Workflow cancellation + gracefully handle non serializable state ( #10674 )
...
FIXES FRMW-2852
**What**
A workflow distributed transaction expect any response and error to be serializable. When it is not the case, the distributed transaction might fail during the save checkpoint that occurs for async steps. This can lead to unexpected behaviour.
With this pr, we introduce a way to handle non serialazable object in a more sustainable manner, this means the following:
- If a workflow throw any non serialazable error (e.g AWS error that contains full IncomingMessage object that related to network communication, think of req/res) then we identify that this object is not serialzable and we clean up the object to make it serializable without loosing the main information, add a new error to the workflow to informed of this issue and can be handled by the user.
- If a response is not serializable (which should not happen at this point because it is handled before by the value resolver), in that case, we wont be able to reuse that response to continue the workflow which means that the workflow is in a non runnable state. In that case we throw a specific error stating that a non serializable context is being provided
**second what**
This pr refactor the `runAsStep` to add better support for workflow cancelation, especially async ones
2025-01-05 13:30:17 +00:00
Shahed Nasser
7c76ee24cb
chore: fix documentation links in TSDocs ( #10511 )
2024-12-09 18:52:02 +02:00
Carlos R. L. Rodrigues
90ae187e09
fix(workflows-sdk): name for when/then step ( #10459 )
2024-12-05 15:47:42 -03:00
Carlos R. L. Rodrigues
1f3754a75e
chore(workflows-sdk): add unit test ( #10419 )
2024-12-04 10:32:03 +00:00
Carlos R. L. Rodrigues
aeb5b43692
feat(workflows-sdk): add response to permanent failure ( #10177 )
2024-11-20 17:29:37 -03:00
Adrien de Peretti
10da8b379f
chore(workflows-sdk): Display each error individually instead of packed ( #10072 )
...
**What**
Instead of displaying a single string prepared with all the errors, log each error individually
2024-11-15 11:27:52 +00:00
Carlos R. L. Rodrigues
1eef324af3
fix(orchestration): fix set step failure ( #10031 )
...
What:
- copy data before saving checkpoint
- removed unused data format function
- properly handle registerStepFailure to not throw
- emit onFinish event even when execution failed
2024-11-12 10:06:36 +00:00
Adrien de Peretti
c0368cca28
fix(workflows-sdk): Paralellize steps rollback issue with config ( #9921 )
...
* fix(workflows-sdk): Paralellize steps rollback issue with config
* Create tall-starfishes-travel.md
2024-11-05 08:54:04 +01:00
Shahed Nasser
92bbd7953b
chore: update links to v2 docs in source code and comments ( #9732 )
2024-10-24 15:18:38 +03:00
Adrien de Peretti
7c5415ba3a
fix(workflows-sdk):transaction id inheritence ( #9507 )
2024-10-10 17:08:42 +02:00
Adrien de Peretti
34d57870ad
chore: workflow internals improvementss ( #9455 )
2024-10-10 09:11:56 +02:00
Adrien de Peretti
ad3524ffbe
feat: Add useQueryStep ( #9384 )
...
* feat: Query step replacement
* fix
* fix types
2024-10-07 12:07:06 +02:00
Harminder Virk
d98f22c7d6
Feat: Move container bindings declaration merging within the framework ( #9467 )
2024-10-04 15:47:06 +05:30
Harminder Virk
48e00169d2
breaking: move shared HTTP utils to the framework ( #9402 )
...
Fixes: FRMW-2728, FRMW-2729
After this PR gets merged the following middleware will be exported from the `@medusajs/framework/http` import path.
- applyParamsAsFilters
- clearFiltersByKey
- applyDefaultFilters
- setContext
- getQueryConfig
- httpCompression
- maybeApplyLinkFilter
- refetchEntities
- unlessPath
- validateBody
- validateQuery
Co-authored-by: Adrien de Peretti <25098370+adrien2p@users.noreply.github.com >
2024-10-03 09:42:00 +00:00
Carlos R. L. Rodrigues
8155c4e9ee
fix(workflows-sdk): when then return value ( #9427 )
2024-10-02 07:40:39 -03:00
Adrien de Peretti
02629625ec
feat(orchestration): Provide hint in workflows error ( #9400 )
...
* feat(orchestration): Provide hint in workflows error
* remove log
* fix tests
* improve stack
* fix type
* formatting
---------
Co-authored-by: Riqwan Thamir <rmthamir@gmail.com >
2024-10-02 11:54:07 +02:00
Shahed Nasser
20943902f9
chore: update imports in tsdocs ( #9379 )
2024-10-01 11:04:03 +02:00
Harminder Virk
9f72fb5902
Chore: cleanup workflows SDK ( #9244 )
...
Fixes: FRMW-2712
2024-09-23 11:04:38 +00:00
Adrien de Peretti
a227d73e4f
fix(workflow-sdk): Use the correct event group ID from the flow metadata ( #9177 )
2024-09-18 12:52:21 +02:00
Harminder Virk
653a4bff71
feat: add tracing to workflow steps ( #9140 )
2024-09-17 11:35:38 +05:30
Carlos R. L. Rodrigues
ef8dc4087e
feat: run nested async workflows ( #9119 )
2024-09-16 13:06:45 +00:00
Carlos R. L. Rodrigues
950cf9af79
chore: remove container registration name ( #9137 )
2024-09-16 06:22:24 -03:00
Adrien de Peretti
f0c470cb08
chore(workflows-sdk): Update hook functions type ( #9117 )
...
RESOLVES FRMW-2703
**What**
Update types to reflect both invoke and compensate function for hooks
2024-09-13 07:11:45 +00:00
matteoxplo
91f17fb176
fix: Workflow always print "error:" even if there are none ( #8978 )
...
Fix issue [https://github.com/medusajs/medusa/issues/8976 ](https://github.com/medusajs/medusa/issues/8976 )
2024-09-04 12:17:25 +00:00
Adrien de Peretti
b09c19912b
fix(orchestration, workflow-sdk): Local workflow separated orchestrator ( #8765 )
...
FIXES TRI-174
**What**
Currently, every time a Local workflow is being instantiated, it will grab the global workflow definition including the orchestrator instance. This leads to issues when we have concurrent running workflows which all register their event listeners to this single orchestrator instance which can lead to exhausting the listerners.
With this fix, every local workflow will have a copy of the global workflow definition plus a new instance (cloned) of the orchestrator meaning that from now on, every local workflow will have its own orchestrator.
2024-08-27 08:59:56 +00:00
Carlos R. L. Rodrigues
058378970a
chore: dependecies reorg ( #8535 )
2024-08-23 07:16:04 -03:00
Carlos R. L. Rodrigues
eb0bfe9f33
feat(workflows-sdk): log on error ( #8666 )
2024-08-20 06:23:24 -03:00
Harminder Virk
9cd66bc842
feature: share execution context with hook handlers ( #8501 )
2024-08-08 17:18:07 +05:30
Stevche Radevski
4155d0354f
fix: Use a global reference to distributed transaction and scheduler ( #8462 )
...
* fix: Add storage cleanup on scheduled jobs
* fix: Use a global reference to distributed transaction and scheduler classes
2024-08-06 14:14:51 +02:00
Shahed Nasser
6fc2019534
chore(workflows-sdk): add TSDocs related to create-hook ( #8380 )
2024-08-01 09:57:14 +03:00
Harminder Virk
864bb0df05
breaking: implement workflow hooks (first iteration) ( #8346 )
2024-07-31 15:36:38 +05:30
Carlos R. L. Rodrigues
24c105f288
feat(orchestration,workflows-sdk): Skip step ( #8334 )
2024-07-29 14:26:47 -03:00
Adrien de Peretti
35c3759ed8
fix: workflow 'when' should return T or undefined instead of Partial<T> ( #8195 )
...
* fix: workflow 'when' should return T or undefined instead of Partial<T>
* fix when usage
2024-07-19 10:46:55 +02:00
Adrien de Peretti
53ddea717c
fix: workflow return type inf missing type ( #8133 )
2024-07-15 14:40:03 +03:00
Carlos R. L. Rodrigues
4321241553
feat(core-flows): request return on order exchanges and claims ( #8107 )
...
FIXES: CC-92, CC-87
2024-07-12 15:48:24 +00:00
Adrien de Peretti
b24c8503d5
feat: Add types to the workflow conditional ( #7979 )
...
**What**
Add typing to the when conditional workflow step
FIXES CORE-2494
2024-07-05 14:43:16 +00:00
Carlos R. L. Rodrigues
9badad24aa
feat(workflows-sdk): conditional step ( #7912 )
...
* chore: move ModuleRegistrationName to utils
* chore(workflows-sdk): conditional step
* type
* when condition
2024-07-05 10:54:18 +02:00
Carlos R. L. Rodrigues
61758f374b
chore(medusa): return endpoints ( #7823 )
2024-06-25 13:53:18 +00:00
Riqwan Thamir
03924a4ff6
chore: move to swc/jest ( #7739 )
...
* chore: move to swc
* chore: fix tax rate tests
* chore: undo failed test
* chore: fix unit tests script
* chore: use node 20
* Update scripts/run-workspace-unit-tests-in-chunks.sh
2024-06-20 12:59:33 +02:00
Adrien de Peretti
48963f55ef
Chore/rm main entity concept ( #7709 )
...
**What**
Update the `MedusaService` class, factory and types to remove the concept of main modules. The idea being that all method will be explicitly named and suffixes to represent the object you are trying to manipulate.
This pr also includes various fixes in different modules
Co-authored-by: Stevche Radevski <4820812+sradevski@users.noreply.github.com >
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com >
2024-06-19 13:02:16 +00:00
Adrien de Peretti
dd0b9f0805
feat: workflows release events ( #7664 )
...
* feat: Release grouped events once a worfklow finish
* update common step
* update types
* tests
* optionality
* fies
* cancel flow on release failure
* clear events on fail
* more tests
* log errors
* log more errors
* update missing interface method declaration
* fix missing return
* update mock
* fix tests
2024-06-11 15:48:15 +02:00
Adrien de Peretti
afae395fea
chore: ensure the event group id is kept for async workflow ( #7668 )
...
* chore: ensure the event group id is kept for async workflow
* revert test
* fix tests
---------
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com >
Co-authored-by: Riqwan Thamir <rmthamir@gmail.com >
2024-06-11 13:20:17 +02:00
Stevche Radevski
69410162f6
feat: Add support for scheduled workflows ( #7651 )
...
We still need to:
But wanted to open the PR for early feedback on the approach
2024-06-10 14:49:52 +00:00
Adrien de Peretti
c9c2b6c88f
chore: Ensure the transactionId/eventGroupId are passed down the child workflows ( #7648 )
2024-06-07 12:38:04 +02:00
Adrien de Peretti
3cd2d60daa
feat: Ensure the event group id is either generated or picked up from the context ( #7646 )
...
**What**
- Pick the context event group id or generate it to be accessible from the workflow and down the module calls
FIXES CORE-2273
2024-06-07 09:14:02 +00:00