@temporalio/core-bridge 1.15.0 → 1.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Cargo.lock +172 -70
- package/lib/native.d.ts +1 -1
- package/package.json +2 -2
- package/releases/aarch64-apple-darwin/index.node +0 -0
- package/releases/aarch64-unknown-linux-gnu/index.node +0 -0
- package/releases/x86_64-apple-darwin/index.node +0 -0
- package/releases/x86_64-pc-windows-msvc/index.node +0 -0
- package/releases/x86_64-unknown-linux-gnu/index.node +0 -0
- package/sdk-core/.github/workflows/per-pr.yml +6 -6
- package/sdk-core/AGENTS.md +41 -30
- package/sdk-core/Cargo.toml +3 -0
- package/sdk-core/README.md +15 -9
- package/sdk-core/crates/client/Cargo.toml +4 -0
- package/sdk-core/crates/client/README.md +139 -0
- package/sdk-core/crates/client/src/async_activity_handle.rs +297 -0
- package/sdk-core/crates/client/src/callback_based.rs +7 -0
- package/sdk-core/crates/client/src/errors.rs +294 -0
- package/sdk-core/crates/client/src/{raw.rs → grpc.rs} +280 -159
- package/sdk-core/crates/client/src/lib.rs +920 -1326
- package/sdk-core/crates/client/src/metrics.rs +24 -33
- package/sdk-core/crates/client/src/options_structs.rs +457 -0
- package/sdk-core/crates/client/src/replaceable.rs +5 -4
- package/sdk-core/crates/client/src/request_extensions.rs +8 -9
- package/sdk-core/crates/client/src/retry.rs +99 -54
- package/sdk-core/crates/client/src/{worker/mod.rs → worker.rs} +1 -1
- package/sdk-core/crates/client/src/workflow_handle.rs +826 -0
- package/sdk-core/crates/common/Cargo.toml +61 -2
- package/sdk-core/crates/common/build.rs +742 -12
- package/sdk-core/crates/common/protos/api_upstream/.github/workflows/ci.yml +2 -0
- package/sdk-core/crates/common/protos/api_upstream/Makefile +2 -1
- package/sdk-core/crates/common/protos/api_upstream/buf.yaml +0 -3
- package/sdk-core/crates/common/protos/api_upstream/cmd/check-path-conflicts/main.go +137 -0
- package/sdk-core/crates/common/protos/api_upstream/openapi/openapiv2.json +1166 -770
- package/sdk-core/crates/common/protos/api_upstream/openapi/openapiv3.yaml +1243 -750
- package/sdk-core/crates/common/protos/api_upstream/temporal/api/deployment/v1/message.proto +2 -2
- package/sdk-core/crates/common/protos/api_upstream/temporal/api/enums/v1/workflow.proto +4 -3
- package/sdk-core/crates/common/protos/api_upstream/temporal/api/failure/v1/message.proto +1 -0
- package/sdk-core/crates/common/protos/api_upstream/temporal/api/history/v1/message.proto +4 -0
- package/sdk-core/crates/common/protos/api_upstream/temporal/api/namespace/v1/message.proto +6 -0
- package/sdk-core/crates/common/protos/api_upstream/temporal/api/nexus/v1/message.proto +16 -1
- package/sdk-core/crates/common/protos/api_upstream/temporal/api/workflowservice/v1/request_response.proto +64 -6
- package/sdk-core/crates/common/protos/api_upstream/temporal/api/workflowservice/v1/service.proto +88 -33
- package/sdk-core/crates/common/protos/local/temporal/sdk/core/nexus/nexus.proto +4 -2
- package/sdk-core/crates/common/protos/local/temporal/sdk/core/workflow_activation/workflow_activation.proto +4 -0
- package/sdk-core/crates/common/protos/local/temporal/sdk/core/workflow_commands/workflow_commands.proto +5 -5
- package/sdk-core/crates/common/src/activity_definition.rs +20 -0
- package/sdk-core/crates/common/src/data_converters.rs +770 -0
- package/sdk-core/crates/common/src/envconfig.rs +5 -0
- package/sdk-core/crates/common/src/lib.rs +15 -211
- package/sdk-core/crates/common/src/payload_visitor.rs +648 -0
- package/sdk-core/crates/common/src/priority.rs +110 -0
- package/sdk-core/crates/common/src/protos/canned_histories.rs +3 -0
- package/sdk-core/crates/common/src/protos/history_builder.rs +45 -0
- package/sdk-core/crates/common/src/protos/history_info.rs +2 -0
- package/sdk-core/crates/common/src/protos/mod.rs +122 -27
- package/sdk-core/crates/common/src/protos/task_token.rs +3 -3
- package/sdk-core/crates/common/src/protos/utilities.rs +11 -0
- package/sdk-core/crates/{sdk-core → common}/src/telemetry/log_export.rs +5 -7
- package/sdk-core/crates/common/src/telemetry/metrics/core.rs +125 -0
- package/sdk-core/crates/common/src/telemetry/metrics.rs +268 -223
- package/sdk-core/crates/{sdk-core → common}/src/telemetry/otel.rs +8 -13
- package/sdk-core/crates/{sdk-core → common}/src/telemetry/prometheus_meter.rs +49 -50
- package/sdk-core/crates/{sdk-core → common}/src/telemetry/prometheus_server.rs +2 -3
- package/sdk-core/crates/common/src/telemetry.rs +264 -4
- package/sdk-core/crates/common/src/worker.rs +68 -603
- package/sdk-core/crates/common/src/workflow_definition.rs +60 -0
- package/sdk-core/crates/macros/Cargo.toml +5 -1
- package/sdk-core/crates/macros/src/activities_definitions.rs +585 -0
- package/sdk-core/crates/macros/src/fsm_impl.rs +507 -0
- package/sdk-core/crates/macros/src/lib.rs +138 -512
- package/sdk-core/crates/macros/src/macro_utils.rs +106 -0
- package/sdk-core/crates/macros/src/workflow_definitions.rs +1224 -0
- package/sdk-core/crates/sdk/Cargo.toml +19 -6
- package/sdk-core/crates/sdk/README.md +415 -0
- package/sdk-core/crates/sdk/src/activities.rs +417 -0
- package/sdk-core/crates/sdk/src/interceptors.rs +1 -1
- package/sdk-core/crates/sdk/src/lib.rs +757 -442
- package/sdk-core/crates/sdk/src/workflow_context/options.rs +45 -35
- package/sdk-core/crates/sdk/src/workflow_context.rs +1033 -289
- package/sdk-core/crates/sdk/src/workflow_future.rs +277 -213
- package/sdk-core/crates/sdk/src/workflows.rs +711 -0
- package/sdk-core/crates/sdk-core/Cargo.toml +57 -64
- package/sdk-core/crates/sdk-core/benches/workflow_replay_bench.rs +41 -35
- package/sdk-core/crates/sdk-core/machine_coverage/ActivityMachine_Coverage.puml +1 -1
- package/sdk-core/crates/sdk-core/src/abstractions.rs +6 -10
- package/sdk-core/crates/sdk-core/src/core_tests/activity_tasks.rs +6 -5
- package/sdk-core/crates/sdk-core/src/core_tests/mod.rs +13 -15
- package/sdk-core/crates/sdk-core/src/core_tests/queries.rs +21 -25
- package/sdk-core/crates/sdk-core/src/core_tests/replay_flag.rs +7 -10
- package/sdk-core/crates/sdk-core/src/core_tests/updates.rs +14 -17
- package/sdk-core/crates/sdk-core/src/core_tests/workers.rs +493 -26
- package/sdk-core/crates/sdk-core/src/core_tests/workflow_tasks.rs +4 -8
- package/sdk-core/crates/sdk-core/src/ephemeral_server/mod.rs +7 -7
- package/sdk-core/crates/sdk-core/src/histfetch.rs +20 -10
- package/sdk-core/crates/sdk-core/src/lib.rs +41 -111
- package/sdk-core/crates/sdk-core/src/pollers/mod.rs +4 -9
- package/sdk-core/crates/sdk-core/src/pollers/poll_buffer.rs +118 -19
- package/sdk-core/crates/sdk-core/src/protosext/mod.rs +2 -2
- package/sdk-core/crates/sdk-core/src/replay/mod.rs +14 -5
- package/sdk-core/crates/sdk-core/src/telemetry/metrics.rs +179 -196
- package/sdk-core/crates/sdk-core/src/telemetry/mod.rs +3 -280
- package/sdk-core/crates/sdk-core/src/test_help/integ_helpers.rs +6 -9
- package/sdk-core/crates/sdk-core/src/test_help/unit_helpers.rs +3 -6
- package/sdk-core/crates/sdk-core/src/worker/activities/local_activities.rs +11 -14
- package/sdk-core/crates/sdk-core/src/worker/activities.rs +16 -19
- package/sdk-core/crates/sdk-core/src/worker/client/mocks.rs +9 -5
- package/sdk-core/crates/sdk-core/src/worker/client.rs +103 -81
- package/sdk-core/crates/sdk-core/src/worker/heartbeat.rs +7 -11
- package/sdk-core/crates/sdk-core/src/worker/mod.rs +1124 -229
- package/sdk-core/crates/sdk-core/src/worker/nexus.rs +145 -23
- package/sdk-core/crates/sdk-core/src/worker/slot_provider.rs +2 -2
- package/sdk-core/crates/sdk-core/src/worker/tuner/fixed_size.rs +2 -2
- package/sdk-core/crates/sdk-core/src/worker/tuner/resource_based.rs +13 -13
- package/sdk-core/crates/sdk-core/src/worker/tuner.rs +28 -8
- package/sdk-core/crates/sdk-core/src/worker/workflow/driven_workflow.rs +9 -3
- package/sdk-core/crates/sdk-core/src/worker/workflow/machines/upsert_search_attributes_state_machine.rs +21 -22
- package/sdk-core/crates/sdk-core/src/worker/workflow/machines/workflow_machines.rs +19 -4
- package/sdk-core/crates/sdk-core/src/worker/workflow/managed_run.rs +14 -18
- package/sdk-core/crates/sdk-core/src/worker/workflow/mod.rs +4 -6
- package/sdk-core/crates/sdk-core/src/worker/workflow/run_cache.rs +4 -7
- package/sdk-core/crates/sdk-core/src/worker/workflow/wft_extraction.rs +2 -4
- package/sdk-core/crates/sdk-core/src/worker/workflow/wft_poller.rs +8 -9
- package/sdk-core/crates/sdk-core/src/worker/workflow/workflow_stream.rs +1 -3
- package/sdk-core/crates/sdk-core/tests/activities_procmacro.rs +6 -0
- package/sdk-core/crates/sdk-core/tests/activities_trybuild/basic_pass.rs +54 -0
- package/sdk-core/crates/sdk-core/tests/activities_trybuild/invalid_self_type_fail.rs +18 -0
- package/sdk-core/crates/sdk-core/tests/activities_trybuild/invalid_self_type_fail.stderr +5 -0
- package/sdk-core/crates/sdk-core/tests/activities_trybuild/missing_context_fail.rs +14 -0
- package/sdk-core/crates/sdk-core/tests/activities_trybuild/missing_context_fail.stderr +5 -0
- package/sdk-core/crates/sdk-core/tests/activities_trybuild/multi_arg_pass.rs +48 -0
- package/sdk-core/crates/sdk-core/tests/activities_trybuild/no_input_pass.rs +14 -0
- package/sdk-core/crates/sdk-core/tests/activities_trybuild/no_return_type_pass.rs +19 -0
- package/sdk-core/crates/sdk-core/tests/cloud_tests.rs +14 -5
- package/sdk-core/crates/sdk-core/tests/common/activity_functions.rs +55 -0
- package/sdk-core/crates/sdk-core/tests/common/mod.rs +241 -196
- package/sdk-core/crates/sdk-core/tests/common/workflows.rs +41 -28
- package/sdk-core/crates/sdk-core/tests/global_metric_tests.rs +3 -5
- package/sdk-core/crates/sdk-core/tests/heavy_tests/fuzzy_workflow.rs +73 -64
- package/sdk-core/crates/sdk-core/tests/heavy_tests.rs +298 -252
- package/sdk-core/crates/sdk-core/tests/integ_tests/async_activity_client_tests.rs +230 -0
- package/sdk-core/crates/sdk-core/tests/integ_tests/client_tests.rs +94 -57
- package/sdk-core/crates/sdk-core/tests/integ_tests/data_converter_tests.rs +381 -0
- package/sdk-core/crates/sdk-core/tests/integ_tests/ephemeral_server_tests.rs +16 -12
- package/sdk-core/crates/sdk-core/tests/integ_tests/heartbeat_tests.rs +48 -40
- package/sdk-core/crates/sdk-core/tests/integ_tests/metrics_tests.rs +327 -255
- package/sdk-core/crates/sdk-core/tests/integ_tests/pagination_tests.rs +50 -45
- package/sdk-core/crates/sdk-core/tests/integ_tests/polling_tests.rs +147 -126
- package/sdk-core/crates/sdk-core/tests/integ_tests/queries_tests.rs +103 -89
- package/sdk-core/crates/sdk-core/tests/integ_tests/update_tests.rs +609 -453
- package/sdk-core/crates/sdk-core/tests/integ_tests/visibility_tests.rs +80 -62
- package/sdk-core/crates/sdk-core/tests/integ_tests/worker_heartbeat_tests.rs +360 -231
- package/sdk-core/crates/sdk-core/tests/integ_tests/worker_tests.rs +248 -185
- package/sdk-core/crates/sdk-core/tests/integ_tests/worker_versioning_tests.rs +52 -43
- package/sdk-core/crates/sdk-core/tests/integ_tests/workflow_client_tests.rs +180 -0
- package/sdk-core/crates/sdk-core/tests/integ_tests/workflow_tests/activities.rs +428 -315
- package/sdk-core/crates/sdk-core/tests/integ_tests/workflow_tests/cancel_external.rs +82 -56
- package/sdk-core/crates/sdk-core/tests/integ_tests/workflow_tests/cancel_wf.rs +56 -28
- package/sdk-core/crates/sdk-core/tests/integ_tests/workflow_tests/child_workflows.rs +364 -243
- package/sdk-core/crates/sdk-core/tests/integ_tests/workflow_tests/client_interactions.rs +552 -0
- package/sdk-core/crates/sdk-core/tests/integ_tests/workflow_tests/continue_as_new.rs +101 -42
- package/sdk-core/crates/sdk-core/tests/integ_tests/workflow_tests/determinism.rs +243 -147
- package/sdk-core/crates/sdk-core/tests/integ_tests/workflow_tests/eager.rs +98 -28
- package/sdk-core/crates/sdk-core/tests/integ_tests/workflow_tests/local_activities.rs +1475 -1036
- package/sdk-core/crates/sdk-core/tests/integ_tests/workflow_tests/modify_wf_properties.rs +73 -41
- package/sdk-core/crates/sdk-core/tests/integ_tests/workflow_tests/nexus.rs +397 -238
- package/sdk-core/crates/sdk-core/tests/integ_tests/workflow_tests/patches.rs +414 -189
- package/sdk-core/crates/sdk-core/tests/integ_tests/workflow_tests/queries.rs +415 -0
- package/sdk-core/crates/sdk-core/tests/integ_tests/workflow_tests/replay.rs +96 -36
- package/sdk-core/crates/sdk-core/tests/integ_tests/workflow_tests/resets.rs +154 -137
- package/sdk-core/crates/sdk-core/tests/integ_tests/workflow_tests/signals.rs +183 -105
- package/sdk-core/crates/sdk-core/tests/integ_tests/workflow_tests/stickyness.rs +85 -38
- package/sdk-core/crates/sdk-core/tests/integ_tests/workflow_tests/timers.rs +142 -40
- package/sdk-core/crates/sdk-core/tests/integ_tests/workflow_tests/upsert_search_attrs.rs +73 -54
- package/sdk-core/crates/sdk-core/tests/integ_tests/workflow_tests.rs +363 -226
- package/sdk-core/crates/sdk-core/tests/main.rs +17 -15
- package/sdk-core/crates/sdk-core/tests/manual_tests.rs +207 -152
- package/sdk-core/crates/sdk-core/tests/shared_tests/mod.rs +65 -34
- package/sdk-core/crates/sdk-core/tests/shared_tests/priority.rs +107 -84
- package/sdk-core/crates/sdk-core/tests/workflows_procmacro.rs +6 -0
- package/sdk-core/crates/sdk-core/tests/workflows_trybuild/async_query_fail.rs +26 -0
- package/sdk-core/crates/sdk-core/tests/workflows_trybuild/async_query_fail.stderr +5 -0
- package/sdk-core/crates/sdk-core/tests/workflows_trybuild/basic_pass.rs +49 -0
- package/sdk-core/crates/sdk-core/tests/workflows_trybuild/minimal_pass.rs +21 -0
- package/sdk-core/crates/sdk-core/tests/workflows_trybuild/mut_query_fail.rs +26 -0
- package/sdk-core/crates/sdk-core/tests/workflows_trybuild/mut_query_fail.stderr +5 -0
- package/sdk-core/crates/sdk-core/tests/workflows_trybuild/sync_run_fail.rs +21 -0
- package/sdk-core/crates/sdk-core/tests/workflows_trybuild/sync_run_fail.stderr +5 -0
- package/sdk-core/crates/sdk-core-c-bridge/Cargo.toml +7 -1
- package/sdk-core/crates/sdk-core-c-bridge/include/temporal-sdk-core-c-bridge.h +14 -14
- package/sdk-core/crates/sdk-core-c-bridge/src/client.rs +83 -74
- package/sdk-core/crates/sdk-core-c-bridge/src/metric.rs +9 -14
- package/sdk-core/crates/sdk-core-c-bridge/src/runtime.rs +1 -2
- package/sdk-core/crates/sdk-core-c-bridge/src/tests/context.rs +13 -13
- package/sdk-core/crates/sdk-core-c-bridge/src/tests/mod.rs +6 -6
- package/sdk-core/crates/sdk-core-c-bridge/src/tests/utils.rs +3 -4
- package/sdk-core/crates/sdk-core-c-bridge/src/worker.rs +62 -75
- package/sdk-core/rustfmt.toml +2 -1
- package/src/client.rs +205 -318
- package/src/metrics.rs +22 -30
- package/src/runtime.rs +4 -5
- package/src/worker.rs +16 -19
- package/ts/native.ts +1 -1
- package/sdk-core/crates/client/src/workflow_handle/mod.rs +0 -212
- package/sdk-core/crates/common/src/errors.rs +0 -85
- package/sdk-core/crates/common/tests/worker_task_types_test.rs +0 -129
- package/sdk-core/crates/sdk/src/activity_context.rs +0 -238
- package/sdk-core/crates/sdk/src/app_data.rs +0 -37
- package/sdk-core/crates/sdk-core/tests/integ_tests/activity_functions.rs +0 -5
- package/sdk-core/crates/sdk-core/tests/integ_tests/workflow_tests/appdata_propagation.rs +0 -61
package/Cargo.lock
CHANGED
|
@@ -372,6 +372,27 @@ dependencies = [
|
|
|
372
372
|
"unicode-xid",
|
|
373
373
|
]
|
|
374
374
|
|
|
375
|
+
[[package]]
|
|
376
|
+
name = "dirs"
|
|
377
|
+
version = "6.0.0"
|
|
378
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
379
|
+
checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e"
|
|
380
|
+
dependencies = [
|
|
381
|
+
"dirs-sys",
|
|
382
|
+
]
|
|
383
|
+
|
|
384
|
+
[[package]]
|
|
385
|
+
name = "dirs-sys"
|
|
386
|
+
version = "0.5.0"
|
|
387
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
388
|
+
checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab"
|
|
389
|
+
dependencies = [
|
|
390
|
+
"libc",
|
|
391
|
+
"option-ext",
|
|
392
|
+
"redox_users",
|
|
393
|
+
"windows-sys 0.60.2",
|
|
394
|
+
]
|
|
395
|
+
|
|
375
396
|
[[package]]
|
|
376
397
|
name = "displaydoc"
|
|
377
398
|
version = "0.2.5"
|
|
@@ -457,7 +478,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
457
478
|
checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
|
|
458
479
|
dependencies = [
|
|
459
480
|
"libc",
|
|
460
|
-
"windows-sys 0.
|
|
481
|
+
"windows-sys 0.52.0",
|
|
461
482
|
]
|
|
462
483
|
|
|
463
484
|
[[package]]
|
|
@@ -1315,7 +1336,7 @@ version = "0.50.3"
|
|
|
1315
1336
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1316
1337
|
checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5"
|
|
1317
1338
|
dependencies = [
|
|
1318
|
-
"windows-sys 0.
|
|
1339
|
+
"windows-sys 0.60.2",
|
|
1319
1340
|
]
|
|
1320
1341
|
|
|
1321
1342
|
[[package]]
|
|
@@ -1368,7 +1389,7 @@ dependencies = [
|
|
|
1368
1389
|
"futures-sink",
|
|
1369
1390
|
"js-sys",
|
|
1370
1391
|
"pin-project-lite",
|
|
1371
|
-
"thiserror
|
|
1392
|
+
"thiserror",
|
|
1372
1393
|
"tracing",
|
|
1373
1394
|
]
|
|
1374
1395
|
|
|
@@ -1398,7 +1419,7 @@ dependencies = [
|
|
|
1398
1419
|
"opentelemetry_sdk",
|
|
1399
1420
|
"prost",
|
|
1400
1421
|
"reqwest",
|
|
1401
|
-
"thiserror
|
|
1422
|
+
"thiserror",
|
|
1402
1423
|
"tokio",
|
|
1403
1424
|
"tonic",
|
|
1404
1425
|
"tracing",
|
|
@@ -1429,11 +1450,17 @@ dependencies = [
|
|
|
1429
1450
|
"opentelemetry",
|
|
1430
1451
|
"percent-encoding",
|
|
1431
1452
|
"rand 0.9.2",
|
|
1432
|
-
"thiserror
|
|
1453
|
+
"thiserror",
|
|
1433
1454
|
"tokio",
|
|
1434
1455
|
"tokio-stream",
|
|
1435
1456
|
]
|
|
1436
1457
|
|
|
1458
|
+
[[package]]
|
|
1459
|
+
name = "option-ext"
|
|
1460
|
+
version = "0.2.0"
|
|
1461
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1462
|
+
checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
|
|
1463
|
+
|
|
1437
1464
|
[[package]]
|
|
1438
1465
|
name = "os_pipe"
|
|
1439
1466
|
version = "1.2.3"
|
|
@@ -1441,7 +1468,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
1441
1468
|
checksum = "7d8fae84b431384b68627d0f9b3b1245fcf9f46f6c0e3dc902e9dce64edd1967"
|
|
1442
1469
|
dependencies = [
|
|
1443
1470
|
"libc",
|
|
1444
|
-
"windows-sys 0.
|
|
1471
|
+
"windows-sys 0.52.0",
|
|
1445
1472
|
]
|
|
1446
1473
|
|
|
1447
1474
|
[[package]]
|
|
@@ -1467,6 +1494,43 @@ dependencies = [
|
|
|
1467
1494
|
"windows-link 0.2.1",
|
|
1468
1495
|
]
|
|
1469
1496
|
|
|
1497
|
+
[[package]]
|
|
1498
|
+
name = "pbjson"
|
|
1499
|
+
version = "0.9.0"
|
|
1500
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1501
|
+
checksum = "e8edd1efdd8ab23ba9cb9ace3d9987a72663d5d7c9f74fa00b51d6213645cf6c"
|
|
1502
|
+
dependencies = [
|
|
1503
|
+
"base64",
|
|
1504
|
+
"serde",
|
|
1505
|
+
]
|
|
1506
|
+
|
|
1507
|
+
[[package]]
|
|
1508
|
+
name = "pbjson-build"
|
|
1509
|
+
version = "0.9.0"
|
|
1510
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1511
|
+
checksum = "2ed4d5c6ae95e08ac768883c8401cf0e8deb4e6e1d6a4e1fd3d2ec4f0ec63200"
|
|
1512
|
+
dependencies = [
|
|
1513
|
+
"heck",
|
|
1514
|
+
"itertools",
|
|
1515
|
+
"prost",
|
|
1516
|
+
"prost-types",
|
|
1517
|
+
]
|
|
1518
|
+
|
|
1519
|
+
[[package]]
|
|
1520
|
+
name = "pbjson-types"
|
|
1521
|
+
version = "0.9.0"
|
|
1522
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1523
|
+
checksum = "a14e2757d877c0f607a82ce1b8560e224370f159d66c5d52eb55ea187ef0350e"
|
|
1524
|
+
dependencies = [
|
|
1525
|
+
"bytes",
|
|
1526
|
+
"chrono",
|
|
1527
|
+
"pbjson",
|
|
1528
|
+
"pbjson-build",
|
|
1529
|
+
"prost",
|
|
1530
|
+
"prost-build",
|
|
1531
|
+
"serde",
|
|
1532
|
+
]
|
|
1533
|
+
|
|
1470
1534
|
[[package]]
|
|
1471
1535
|
name = "percent-encoding"
|
|
1472
1536
|
version = "2.3.2"
|
|
@@ -1620,8 +1684,7 @@ dependencies = [
|
|
|
1620
1684
|
"lazy_static",
|
|
1621
1685
|
"memchr",
|
|
1622
1686
|
"parking_lot",
|
|
1623
|
-
"
|
|
1624
|
-
"thiserror 2.0.18",
|
|
1687
|
+
"thiserror",
|
|
1625
1688
|
]
|
|
1626
1689
|
|
|
1627
1690
|
[[package]]
|
|
@@ -1723,26 +1786,6 @@ dependencies = [
|
|
|
1723
1786
|
"serde_json",
|
|
1724
1787
|
]
|
|
1725
1788
|
|
|
1726
|
-
[[package]]
|
|
1727
|
-
name = "protobuf"
|
|
1728
|
-
version = "3.7.2"
|
|
1729
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1730
|
-
checksum = "d65a1d4ddae7d8b5de68153b48f6aa3bba8cb002b243dbdbc55a5afbc98f99f4"
|
|
1731
|
-
dependencies = [
|
|
1732
|
-
"once_cell",
|
|
1733
|
-
"protobuf-support",
|
|
1734
|
-
"thiserror 1.0.69",
|
|
1735
|
-
]
|
|
1736
|
-
|
|
1737
|
-
[[package]]
|
|
1738
|
-
name = "protobuf-support"
|
|
1739
|
-
version = "3.7.2"
|
|
1740
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1741
|
-
checksum = "3e36c2f31e0a47f9280fb347ef5e461ffcd2c52dd520d8e216b52f93b0b0d7d6"
|
|
1742
|
-
dependencies = [
|
|
1743
|
-
"thiserror 1.0.69",
|
|
1744
|
-
]
|
|
1745
|
-
|
|
1746
1789
|
[[package]]
|
|
1747
1790
|
name = "pulldown-cmark"
|
|
1748
1791
|
version = "0.13.0"
|
|
@@ -1792,7 +1835,7 @@ dependencies = [
|
|
|
1792
1835
|
"rustc-hash",
|
|
1793
1836
|
"rustls",
|
|
1794
1837
|
"socket2",
|
|
1795
|
-
"thiserror
|
|
1838
|
+
"thiserror",
|
|
1796
1839
|
"tokio",
|
|
1797
1840
|
"tracing",
|
|
1798
1841
|
"web-time",
|
|
@@ -1800,9 +1843,9 @@ dependencies = [
|
|
|
1800
1843
|
|
|
1801
1844
|
[[package]]
|
|
1802
1845
|
name = "quinn-proto"
|
|
1803
|
-
version = "0.11.
|
|
1846
|
+
version = "0.11.14"
|
|
1804
1847
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1805
|
-
checksum = "
|
|
1848
|
+
checksum = "434b42fec591c96ef50e21e886936e66d3cc3f737104fdb9b737c40ffb94c098"
|
|
1806
1849
|
dependencies = [
|
|
1807
1850
|
"bytes",
|
|
1808
1851
|
"getrandom 0.3.4",
|
|
@@ -1813,7 +1856,7 @@ dependencies = [
|
|
|
1813
1856
|
"rustls",
|
|
1814
1857
|
"rustls-pki-types",
|
|
1815
1858
|
"slab",
|
|
1816
|
-
"thiserror
|
|
1859
|
+
"thiserror",
|
|
1817
1860
|
"tinyvec",
|
|
1818
1861
|
"tracing",
|
|
1819
1862
|
"web-time",
|
|
@@ -1934,6 +1977,17 @@ dependencies = [
|
|
|
1934
1977
|
"bitflags",
|
|
1935
1978
|
]
|
|
1936
1979
|
|
|
1980
|
+
[[package]]
|
|
1981
|
+
name = "redox_users"
|
|
1982
|
+
version = "0.5.2"
|
|
1983
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1984
|
+
checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac"
|
|
1985
|
+
dependencies = [
|
|
1986
|
+
"getrandom 0.2.17",
|
|
1987
|
+
"libredox",
|
|
1988
|
+
"thiserror",
|
|
1989
|
+
]
|
|
1990
|
+
|
|
1937
1991
|
[[package]]
|
|
1938
1992
|
name = "regex"
|
|
1939
1993
|
version = "1.12.3"
|
|
@@ -2055,7 +2109,7 @@ dependencies = [
|
|
|
2055
2109
|
"errno",
|
|
2056
2110
|
"libc",
|
|
2057
2111
|
"linux-raw-sys",
|
|
2058
|
-
"windows-sys 0.
|
|
2112
|
+
"windows-sys 0.52.0",
|
|
2059
2113
|
]
|
|
2060
2114
|
|
|
2061
2115
|
[[package]]
|
|
@@ -2097,9 +2151,9 @@ dependencies = [
|
|
|
2097
2151
|
|
|
2098
2152
|
[[package]]
|
|
2099
2153
|
name = "rustls-webpki"
|
|
2100
|
-
version = "0.103.
|
|
2154
|
+
version = "0.103.10"
|
|
2101
2155
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2102
|
-
checksum = "
|
|
2156
|
+
checksum = "df33b2b81ac578cabaf06b89b0631153a3f416b0a886e8a7a1707fb51abbd1ef"
|
|
2103
2157
|
dependencies = [
|
|
2104
2158
|
"ring",
|
|
2105
2159
|
"rustls-pki-types",
|
|
@@ -2211,6 +2265,15 @@ dependencies = [
|
|
|
2211
2265
|
"zmij",
|
|
2212
2266
|
]
|
|
2213
2267
|
|
|
2268
|
+
[[package]]
|
|
2269
|
+
name = "serde_spanned"
|
|
2270
|
+
version = "1.0.4"
|
|
2271
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2272
|
+
checksum = "f8bbf91e5a4d6315eee45e704372590b30e260ee83af6639d64557f51b067776"
|
|
2273
|
+
dependencies = [
|
|
2274
|
+
"serde_core",
|
|
2275
|
+
]
|
|
2276
|
+
|
|
2214
2277
|
[[package]]
|
|
2215
2278
|
name = "serde_urlencoded"
|
|
2216
2279
|
version = "0.7.1"
|
|
@@ -2365,9 +2428,9 @@ dependencies = [
|
|
|
2365
2428
|
|
|
2366
2429
|
[[package]]
|
|
2367
2430
|
name = "tar"
|
|
2368
|
-
version = "0.4.
|
|
2431
|
+
version = "0.4.45"
|
|
2369
2432
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2370
|
-
checksum = "
|
|
2433
|
+
checksum = "22692a6476a21fa75fdfc11d452fda482af402c008cdbaf3476414e122040973"
|
|
2371
2434
|
dependencies = [
|
|
2372
2435
|
"filetime",
|
|
2373
2436
|
"libc",
|
|
@@ -2384,7 +2447,7 @@ dependencies = [
|
|
|
2384
2447
|
"getrandom 0.4.1",
|
|
2385
2448
|
"once_cell",
|
|
2386
2449
|
"rustix",
|
|
2387
|
-
"windows-sys 0.
|
|
2450
|
+
"windows-sys 0.52.0",
|
|
2388
2451
|
]
|
|
2389
2452
|
|
|
2390
2453
|
[[package]]
|
|
@@ -2406,7 +2469,7 @@ dependencies = [
|
|
|
2406
2469
|
"temporalio-client",
|
|
2407
2470
|
"temporalio-common",
|
|
2408
2471
|
"temporalio-sdk-core",
|
|
2409
|
-
"thiserror
|
|
2472
|
+
"thiserror",
|
|
2410
2473
|
"tokio",
|
|
2411
2474
|
"tokio-stream",
|
|
2412
2475
|
"tonic",
|
|
@@ -2436,7 +2499,7 @@ dependencies = [
|
|
|
2436
2499
|
"rand 0.9.2",
|
|
2437
2500
|
"slotmap",
|
|
2438
2501
|
"temporalio-common",
|
|
2439
|
-
"thiserror
|
|
2502
|
+
"thiserror",
|
|
2440
2503
|
"tokio",
|
|
2441
2504
|
"tonic",
|
|
2442
2505
|
"tower",
|
|
@@ -2453,20 +2516,40 @@ dependencies = [
|
|
|
2453
2516
|
"async-trait",
|
|
2454
2517
|
"base64",
|
|
2455
2518
|
"bon",
|
|
2519
|
+
"crc32fast",
|
|
2456
2520
|
"derive_more",
|
|
2521
|
+
"dirs",
|
|
2522
|
+
"erased-serde",
|
|
2523
|
+
"futures",
|
|
2524
|
+
"futures-channel",
|
|
2525
|
+
"http-body-util",
|
|
2526
|
+
"hyper",
|
|
2527
|
+
"hyper-util",
|
|
2457
2528
|
"opentelemetry",
|
|
2529
|
+
"opentelemetry-otlp",
|
|
2530
|
+
"opentelemetry_sdk",
|
|
2531
|
+
"parking_lot",
|
|
2532
|
+
"pbjson",
|
|
2533
|
+
"pbjson-build",
|
|
2534
|
+
"pbjson-types",
|
|
2535
|
+
"prometheus",
|
|
2458
2536
|
"prost",
|
|
2537
|
+
"prost-types",
|
|
2459
2538
|
"prost-wkt",
|
|
2460
2539
|
"prost-wkt-types",
|
|
2461
2540
|
"rand 0.9.2",
|
|
2541
|
+
"ringbuf",
|
|
2462
2542
|
"serde",
|
|
2463
2543
|
"serde_json",
|
|
2464
|
-
"thiserror
|
|
2544
|
+
"thiserror",
|
|
2545
|
+
"tokio",
|
|
2546
|
+
"toml",
|
|
2465
2547
|
"tonic",
|
|
2466
2548
|
"tonic-prost",
|
|
2467
2549
|
"tonic-prost-build",
|
|
2468
2550
|
"tracing",
|
|
2469
2551
|
"tracing-core",
|
|
2552
|
+
"tracing-subscriber",
|
|
2470
2553
|
"url",
|
|
2471
2554
|
"uuid",
|
|
2472
2555
|
]
|
|
@@ -2497,13 +2580,10 @@ dependencies = [
|
|
|
2497
2580
|
"enum-iterator",
|
|
2498
2581
|
"enum_dispatch",
|
|
2499
2582
|
"flate2",
|
|
2500
|
-
"futures
|
|
2583
|
+
"futures",
|
|
2501
2584
|
"futures-util",
|
|
2502
2585
|
"gethostname",
|
|
2503
2586
|
"governor",
|
|
2504
|
-
"http-body-util",
|
|
2505
|
-
"hyper",
|
|
2506
|
-
"hyper-util",
|
|
2507
2587
|
"itertools",
|
|
2508
2588
|
"lru",
|
|
2509
2589
|
"mockall",
|
|
@@ -2513,12 +2593,10 @@ dependencies = [
|
|
|
2513
2593
|
"parking_lot",
|
|
2514
2594
|
"pid",
|
|
2515
2595
|
"pin-project",
|
|
2516
|
-
"prometheus",
|
|
2517
2596
|
"prost",
|
|
2518
2597
|
"prost-wkt-types",
|
|
2519
2598
|
"rand 0.9.2",
|
|
2520
2599
|
"reqwest",
|
|
2521
|
-
"ringbuf",
|
|
2522
2600
|
"serde",
|
|
2523
2601
|
"serde_json",
|
|
2524
2602
|
"siphasher",
|
|
@@ -2528,13 +2606,12 @@ dependencies = [
|
|
|
2528
2606
|
"temporalio-client",
|
|
2529
2607
|
"temporalio-common",
|
|
2530
2608
|
"temporalio-macros",
|
|
2531
|
-
"thiserror
|
|
2609
|
+
"thiserror",
|
|
2532
2610
|
"tokio",
|
|
2533
2611
|
"tokio-stream",
|
|
2534
2612
|
"tokio-util",
|
|
2535
2613
|
"tonic",
|
|
2536
2614
|
"tracing",
|
|
2537
|
-
"tracing-subscriber",
|
|
2538
2615
|
"url",
|
|
2539
2616
|
"uuid",
|
|
2540
2617
|
"zip",
|
|
@@ -2546,33 +2623,13 @@ version = "0.5.1"
|
|
|
2546
2623
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2547
2624
|
checksum = "8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683"
|
|
2548
2625
|
|
|
2549
|
-
[[package]]
|
|
2550
|
-
name = "thiserror"
|
|
2551
|
-
version = "1.0.69"
|
|
2552
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2553
|
-
checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
|
|
2554
|
-
dependencies = [
|
|
2555
|
-
"thiserror-impl 1.0.69",
|
|
2556
|
-
]
|
|
2557
|
-
|
|
2558
2626
|
[[package]]
|
|
2559
2627
|
name = "thiserror"
|
|
2560
2628
|
version = "2.0.18"
|
|
2561
2629
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2562
2630
|
checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4"
|
|
2563
2631
|
dependencies = [
|
|
2564
|
-
"thiserror-impl
|
|
2565
|
-
]
|
|
2566
|
-
|
|
2567
|
-
[[package]]
|
|
2568
|
-
name = "thiserror-impl"
|
|
2569
|
-
version = "1.0.69"
|
|
2570
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2571
|
-
checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
|
|
2572
|
-
dependencies = [
|
|
2573
|
-
"proc-macro2",
|
|
2574
|
-
"quote",
|
|
2575
|
-
"syn",
|
|
2632
|
+
"thiserror-impl",
|
|
2576
2633
|
]
|
|
2577
2634
|
|
|
2578
2635
|
[[package]]
|
|
@@ -2682,6 +2739,45 @@ dependencies = [
|
|
|
2682
2739
|
"tokio",
|
|
2683
2740
|
]
|
|
2684
2741
|
|
|
2742
|
+
[[package]]
|
|
2743
|
+
name = "toml"
|
|
2744
|
+
version = "0.9.12+spec-1.1.0"
|
|
2745
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2746
|
+
checksum = "cf92845e79fc2e2def6a5d828f0801e29a2f8acc037becc5ab08595c7d5e9863"
|
|
2747
|
+
dependencies = [
|
|
2748
|
+
"indexmap",
|
|
2749
|
+
"serde_core",
|
|
2750
|
+
"serde_spanned",
|
|
2751
|
+
"toml_datetime",
|
|
2752
|
+
"toml_parser",
|
|
2753
|
+
"toml_writer",
|
|
2754
|
+
"winnow",
|
|
2755
|
+
]
|
|
2756
|
+
|
|
2757
|
+
[[package]]
|
|
2758
|
+
name = "toml_datetime"
|
|
2759
|
+
version = "0.7.5+spec-1.1.0"
|
|
2760
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2761
|
+
checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347"
|
|
2762
|
+
dependencies = [
|
|
2763
|
+
"serde_core",
|
|
2764
|
+
]
|
|
2765
|
+
|
|
2766
|
+
[[package]]
|
|
2767
|
+
name = "toml_parser"
|
|
2768
|
+
version = "1.0.9+spec-1.1.0"
|
|
2769
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2770
|
+
checksum = "702d4415e08923e7e1ef96cd5727c0dfed80b4d2fa25db9647fe5eb6f7c5a4c4"
|
|
2771
|
+
dependencies = [
|
|
2772
|
+
"winnow",
|
|
2773
|
+
]
|
|
2774
|
+
|
|
2775
|
+
[[package]]
|
|
2776
|
+
name = "toml_writer"
|
|
2777
|
+
version = "1.0.6+spec-1.1.0"
|
|
2778
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2779
|
+
checksum = "ab16f14aed21ee8bfd8ec22513f7287cd4a91aa92e44edfe2c17ddd004e92607"
|
|
2780
|
+
|
|
2685
2781
|
[[package]]
|
|
2686
2782
|
name = "tonic"
|
|
2687
2783
|
version = "0.14.3"
|
|
@@ -3411,6 +3507,12 @@ version = "0.53.1"
|
|
|
3411
3507
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3412
3508
|
checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650"
|
|
3413
3509
|
|
|
3510
|
+
[[package]]
|
|
3511
|
+
name = "winnow"
|
|
3512
|
+
version = "0.7.14"
|
|
3513
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3514
|
+
checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829"
|
|
3515
|
+
|
|
3414
3516
|
[[package]]
|
|
3415
3517
|
name = "wit-bindgen"
|
|
3416
3518
|
version = "0.51.0"
|
package/lib/native.d.ts
CHANGED
|
@@ -192,7 +192,7 @@ export type PollerBehavior = {
|
|
|
192
192
|
export type WorkerDeploymentOptions = {
|
|
193
193
|
version: WorkerDeploymentVersion;
|
|
194
194
|
useWorkerVersioning: boolean;
|
|
195
|
-
defaultVersioningBehavior: VersioningBehavior
|
|
195
|
+
defaultVersioningBehavior: Option<VersioningBehavior>;
|
|
196
196
|
};
|
|
197
197
|
export type WorkerDeploymentVersion = {
|
|
198
198
|
buildId: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@temporalio/core-bridge",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.16.1",
|
|
4
4
|
"description": "Temporal.io SDK Core<>Node bridge",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"license": "MIT",
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"@grpc/grpc-js": "^1.12.4",
|
|
17
|
-
"@temporalio/common": "1.
|
|
17
|
+
"@temporalio/common": "1.16.1"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
20
|
"arg": "^5.0.2",
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -25,7 +25,7 @@ jobs:
|
|
|
25
25
|
submodules: recursive
|
|
26
26
|
- uses: dtolnay/rust-toolchain@stable
|
|
27
27
|
with:
|
|
28
|
-
toolchain: 1.
|
|
28
|
+
toolchain: 1.92.0
|
|
29
29
|
- name: Install protoc
|
|
30
30
|
uses: arduino/setup-protoc@v3
|
|
31
31
|
with:
|
|
@@ -64,7 +64,7 @@ jobs:
|
|
|
64
64
|
- uses: actions/checkout@v4
|
|
65
65
|
- uses: dtolnay/rust-toolchain@stable
|
|
66
66
|
with:
|
|
67
|
-
toolchain: 1.
|
|
67
|
+
toolchain: 1.92.0
|
|
68
68
|
- name: Install protoc
|
|
69
69
|
uses: arduino/setup-protoc@v3
|
|
70
70
|
with:
|
|
@@ -143,7 +143,7 @@ jobs:
|
|
|
143
143
|
- uses: actions/checkout@v4
|
|
144
144
|
- uses: dtolnay/rust-toolchain@stable
|
|
145
145
|
with:
|
|
146
|
-
toolchain: 1.
|
|
146
|
+
toolchain: 1.92.0
|
|
147
147
|
- name: Install protoc
|
|
148
148
|
uses: arduino/setup-protoc@v3
|
|
149
149
|
with:
|
|
@@ -176,7 +176,7 @@ jobs:
|
|
|
176
176
|
- uses: actions/checkout@v4
|
|
177
177
|
- uses: dtolnay/rust-toolchain@stable
|
|
178
178
|
with:
|
|
179
|
-
toolchain: 1.
|
|
179
|
+
toolchain: 1.92.0
|
|
180
180
|
- name: Install protoc
|
|
181
181
|
uses: arduino/setup-protoc@v3
|
|
182
182
|
with:
|
|
@@ -201,7 +201,7 @@ jobs:
|
|
|
201
201
|
- uses: actions/checkout@v4
|
|
202
202
|
- uses: dtolnay/rust-toolchain@stable
|
|
203
203
|
with:
|
|
204
|
-
toolchain: 1.
|
|
204
|
+
toolchain: 1.92.0
|
|
205
205
|
- name: Install protoc
|
|
206
206
|
uses: arduino/setup-protoc@v3
|
|
207
207
|
with:
|
|
@@ -222,7 +222,7 @@ jobs:
|
|
|
222
222
|
- uses: actions/checkout@v4
|
|
223
223
|
- uses: dtolnay/rust-toolchain@stable
|
|
224
224
|
with:
|
|
225
|
-
toolchain: 1.
|
|
225
|
+
toolchain: 1.92.0
|
|
226
226
|
- name: Install protoc
|
|
227
227
|
uses: arduino/setup-protoc@v3
|
|
228
228
|
with:
|
package/sdk-core/AGENTS.md
CHANGED
|
@@ -3,51 +3,48 @@
|
|
|
3
3
|
This repository provides a Rust workspace for the Temporal Core SDK and related crates. Use this
|
|
4
4
|
document as your quick reference when submitting pull requests.
|
|
5
5
|
|
|
6
|
-
##
|
|
6
|
+
## Requirements for coding agents
|
|
7
|
+
|
|
8
|
+
- Always use `cargo integ-test <test_name>` for running integration tests. Do not run them directly. If you have added `dbg!` or println statements, you must add `-- --nocapture` to see them.
|
|
9
|
+
- Unit tests may be run with `cargo test`. If you are about to run a test, you do not need to run
|
|
10
|
+
`cargo build` separately first. Just run the test, and it will build. Running `cargo build --test`
|
|
11
|
+
DOES NOT build integration tests. Use `cargo lint` for checking if integration tests compile
|
|
12
|
+
without running them.
|
|
13
|
+
- Always use `cargo lint` for checking lints / clippy. Do not use clippy directly.
|
|
14
|
+
- It is EXTREMELY IMPORTANT that any added comments should explain why something needs to be done,
|
|
15
|
+
rather than what it is. Comments that simply state a fact easily understood from type signatures
|
|
16
|
+
or other context should NEVER be added. Always prefer to avoid a comment unless it truly is
|
|
17
|
+
clarifying something nonobvious.
|
|
18
|
+
- Always make every attempt to avoid explicit sleeps in test code. Instead rely on synchronization
|
|
19
|
+
techniques like channels, Notify, etc.
|
|
20
|
+
- Rust compilation can take some time. Do not interrupt builds or tests unless they are taking more
|
|
21
|
+
than 5 minutes. When making changes that may break integration tests, after compiling, run
|
|
22
|
+
integration tests with `timeout 180`, as it is possible to introduce test hangs.
|
|
23
|
+
- DO NOT put use statements in function scope. Always put them at the top of the file, unless doing
|
|
24
|
+
so helps prevent ambiguous method resolution because of traits. Putting them at the top of a tests module is also acceptable.
|
|
7
25
|
|
|
8
|
-
- `crates` - All crates in the workspace.
|
|
9
|
-
- `crates/core/` – implementation of the core SDK
|
|
10
|
-
- `crates/client/` – clients for communicating with Temporal clusters
|
|
11
|
-
- `crates/common/` – protobuf definitions shared across crates
|
|
12
|
-
- `crates/core-api/` – API definitions exposed by core
|
|
13
|
-
- `crates/core-c-bridge/` – C interface for core
|
|
14
|
-
- `crates/sdk/` – pre-alpha Rust SDK built on top of core (used mainly for tests)
|
|
15
|
-
- `crates/fsm/` – state machine implementation and macros
|
|
16
|
-
- `crates/core/tests/` – integration, heavy, and manual tests
|
|
17
|
-
- `arch_docs/` – architectural design documents
|
|
18
|
-
- Contributor guide: `README.md`
|
|
19
|
-
- `target/` - This contains compiled files. You never need to look in here.
|
|
20
26
|
|
|
21
27
|
## Repo Specific Utilities
|
|
22
28
|
|
|
23
29
|
- `.cargo/config.toml` defines useful cargo aliases:
|
|
24
|
-
- `cargo lint` – run clippy on workspace crates
|
|
25
|
-
- `cargo test-lint` – run clippy on tests
|
|
30
|
+
- `cargo lint` – run clippy on workspace crates and integration tests
|
|
31
|
+
- `cargo test-lint` – run clippy on unit tests
|
|
26
32
|
- `cargo integ-test` – run the integration test runner
|
|
27
|
-
- `etc` - Various helper scripts and configuration
|
|
28
|
-
- `etc/docker` - Docker compose files to help with CI or more complex local testing
|
|
29
33
|
|
|
30
34
|
## Building and Testing
|
|
31
35
|
|
|
32
36
|
The following commands are enforced for each pull request (see `README.md`):
|
|
33
37
|
|
|
34
38
|
```bash
|
|
35
|
-
cargo
|
|
36
|
-
cargo
|
|
37
|
-
cargo
|
|
39
|
+
cargo fmt --all --check # ensure code is formatted
|
|
40
|
+
cargo build # build all crates
|
|
41
|
+
cargo lint # run lints
|
|
42
|
+
cargo test-lint # run lints on tests
|
|
43
|
+
cargo test # run unit tests
|
|
44
|
+
cargo integ-test # integration tests (starts ephemeral server by default)
|
|
38
45
|
cargo test --test heavy_tests # load tests -- agents do not need to run this and should not
|
|
39
46
|
```
|
|
40
47
|
|
|
41
|
-
Rust compilation can take some time. Do not interrupt builds or tests unless they are taking more
|
|
42
|
-
than 10 minutes.
|
|
43
|
-
|
|
44
|
-
Additional checks:
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
cargo fmt --all # format code
|
|
48
|
-
cargo clippy --all -- -D warnings # lint
|
|
49
|
-
```
|
|
50
|
-
|
|
51
48
|
Documentation can be generated with `cargo doc`.
|
|
52
49
|
|
|
53
50
|
## Expectations for Pull Requests
|
|
@@ -70,6 +67,20 @@ Reviewers will look for:
|
|
|
70
67
|
- Clear and concise code following existing style (see `README.md` for error handling guidance)
|
|
71
68
|
- Documentation updates for any public API changes
|
|
72
69
|
|
|
70
|
+
## Where Things Are
|
|
71
|
+
|
|
72
|
+
- `crates` - All crates in the workspace.
|
|
73
|
+
- `crates/client/` – clients for communicating with Temporal clusters
|
|
74
|
+
- `crates/common/` – Common functionality & protobuf definitions
|
|
75
|
+
- `crates/macros/` – procedural macro implementations
|
|
76
|
+
- `crates/sdk/` – Rust SDK built on top of core
|
|
77
|
+
- `crates/sdk-core/` – implementation of the core SDK
|
|
78
|
+
- `crates/sdk-core/tests/` – integration, heavy, and manual tests
|
|
79
|
+
- `crates/sdk-core-c-bridge/` – C interface for core
|
|
80
|
+
- `arch_docs/` – architectural design documents
|
|
81
|
+
- Contributor guide: `README.md`
|
|
82
|
+
- `target/` - This contains compiled files. You never need to look in here.
|
|
83
|
+
|
|
73
84
|
## Notes
|
|
74
85
|
|
|
75
86
|
- Fetch workflow histories with `cargo run --bin histfetch <workflow_id> [run_id]` (binary lives in
|
package/sdk-core/Cargo.toml
CHANGED
|
@@ -30,6 +30,9 @@ tonic-prost-build = "0.14"
|
|
|
30
30
|
opentelemetry = { version = "0.31", features = ["metrics"] }
|
|
31
31
|
prost = "0.14"
|
|
32
32
|
prost-types = { version = "0.7", package = "prost-wkt-types" }
|
|
33
|
+
pbjson = "0.9"
|
|
34
|
+
pbjson-types = "0.9"
|
|
35
|
+
pbjson-build = "0.9"
|
|
33
36
|
|
|
34
37
|
[workspace.lints.rust]
|
|
35
38
|
unreachable_pub = "warn"
|