Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
b35e80f
sysdb.deleteWorkflows
devhawk Jan 29, 2026
e03825f
getWorkflowChildren
devhawk Jan 29, 2026
1995ddd
initial exportWorkflow
devhawk Jan 29, 2026
414f2f3
refactor listWorkflowSteps
devhawk Jan 29, 2026
518f14d
refactor getWorkflowStatus
devhawk Jan 29, 2026
26e5327
importWorkflow (w/o errors)
devhawk Jan 29, 2026
a3f6b77
spotless
devhawk Jan 29, 2026
21add46
ErrorResult deserialize
devhawk Jan 30, 2026
0f75310
commit/rollback importWorkflow
devhawk Jan 30, 2026
7fa2fcd
DBOS.deleteWorkflow
devhawk Jan 30, 2026
3ab1bb6
spotless
devhawk Jan 30, 2026
64115ce
conductor delete support
devhawk Jan 30, 2026
9cd3a66
support chunked web socket messages
devhawk Jan 30, 2026
c43412b
ConductorWebSocketListener
devhawk Jan 31, 2026
c9e4f29
reorder workflow status builder fields
devhawk Feb 3, 2026
3257b85
add import/export conductor (no tests)
devhawk Feb 3, 2026
3f222b7
import/export tests
devhawk Feb 3, 2026
2039f60
fix sysdb param off-by-one errors
devhawk Feb 4, 2026
3e3dc91
chunk the web socket response
devhawk Feb 4, 2026
e68e6ae
enable Java-WebSocket in non test code
devhawk Feb 4, 2026
0c8e3c0
Revert "enable Java-WebSocket in non test code"
devhawk Feb 4, 2026
ec76be4
use netty web socket client
devhawk Feb 6, 2026
beec84a
break responses into 32k fragments
devhawk Feb 6, 2026
9660bb1
merge devhawk/conductor
devhawk Feb 6, 2026
0749ec4
increase frame max size
devhawk Feb 6, 2026
edef719
fix import statement
devhawk Feb 6, 2026
094f573
send pong
devhawk Feb 6, 2026
7c84851
spotless
devhawk Feb 9, 2026
5da9fef
remove unneeded logging call
devhawk Feb 9, 2026
b202148
increase frame size
devhawk Feb 10, 2026
725f92e
Merge branch 'main' into devhawk/import-export
chuck-dbos Feb 10, 2026
07b7555
moar logging
devhawk Feb 10, 2026
2fc48ed
Merge remote-tracking branch 'origin/devhawk/import-export' into devh…
devhawk Feb 10, 2026
8aded97
spotless
devhawk Feb 10, 2026
7c999c8
remove some logging
devhawk Feb 10, 2026
458187e
async conductor message processing
devhawk Feb 10, 2026
e41eee2
override StreamReadConstraints
devhawk Feb 10, 2026
4208afd
cleanup patch test
devhawk Feb 10, 2026
6923f4c
cleanup
devhawk Feb 10, 2026
4fa8750
moar cleanup
devhawk Feb 10, 2026
e56296d
comment
devhawk Feb 10, 2026
514e00a
fix testSendsFragmentedResponse
devhawk Feb 10, 2026
089b58b
spotless
devhawk Feb 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions transact/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ dependencies {
implementation("com.fasterxml.jackson.core:jackson-databind:2.20.1") // json
implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.20.1")
implementation("com.cronutils:cron-utils:9.2.1") // cron for scheduled wf
implementation("io.netty:netty-all:4.1.130.Final") // netty for websocket

compileOnly("org.jspecify:jspecify:1.0.0")

Expand Down
22 changes: 22 additions & 0 deletions transact/src/main/java/dev/dbos/transact/DBOS.java
Original file line number Diff line number Diff line change
Expand Up @@ -696,6 +696,28 @@ public static void cancelWorkflow(@NonNull String workflowId) {
return forkWorkflow(workflowId, startStep, new ForkOptions());
}

/**
* Deletes a workflow from the system. Does not delete child workflows.
*
* @param workflowId the unique identifier of the workflow to delete. Must not be null.
* @throws IllegalArgumentException if workflowId is null
*/
public static void deleteWorkflow(@NonNull String workflowId) {
deleteWorkflow(workflowId, false);
}

/**
* Deletes a workflow and optionally its child workflows from the system.
*
* @param workflowId the unique identifier of the workflow to delete. Must not be null.
* @param deleteChildren if true, also deletes all child workflows associated with the specified
* workflow; if false, only deletes the specified workflow
* @throws IllegalArgumentException if workflowId is null
*/
public static void deleteWorkflow(@NonNull String workflowId, boolean deleteChildren) {
executor("deleteWorkflow").deleteWorkflow(workflowId, deleteChildren);
}

/**
* Retrieve a handle to a workflow, given its ID. Note that a handle is always returned, whether
* the workflow exists or not; getStatus() can be used to tell the difference
Expand Down
Loading