@temporalio/core-bridge 0.19.2 → 0.20.2

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.
Files changed (125) hide show
  1. package/Cargo.lock +90 -157
  2. package/Cargo.toml +1 -0
  3. package/index.d.ts +11 -27
  4. package/package.json +3 -3
  5. package/releases/aarch64-apple-darwin/index.node +0 -0
  6. package/releases/aarch64-unknown-linux-gnu/index.node +0 -0
  7. package/releases/x86_64-apple-darwin/index.node +0 -0
  8. package/releases/x86_64-pc-windows-msvc/index.node +0 -0
  9. package/releases/x86_64-unknown-linux-gnu/index.node +0 -0
  10. package/sdk-core/.buildkite/docker/Dockerfile +1 -1
  11. package/sdk-core/.buildkite/docker/docker-compose.yaml +1 -1
  12. package/sdk-core/.cargo/config.toml +1 -0
  13. package/sdk-core/CODEOWNERS +1 -1
  14. package/sdk-core/bridge-ffi/include/sdk-core-bridge.h +119 -86
  15. package/sdk-core/bridge-ffi/src/lib.rs +311 -315
  16. package/sdk-core/bridge-ffi/src/wrappers.rs +108 -113
  17. package/sdk-core/client/Cargo.toml +13 -9
  18. package/sdk-core/client/LICENSE.txt +23 -0
  19. package/sdk-core/client/src/lib.rs +286 -174
  20. package/sdk-core/client/src/metrics.rs +86 -12
  21. package/sdk-core/client/src/raw.rs +566 -0
  22. package/sdk-core/client/src/retry.rs +137 -99
  23. package/sdk-core/core/Cargo.toml +15 -10
  24. package/sdk-core/core/LICENSE.txt +23 -0
  25. package/sdk-core/core/benches/workflow_replay.rs +79 -0
  26. package/sdk-core/core/src/abstractions.rs +38 -0
  27. package/sdk-core/core/src/core_tests/activity_tasks.rs +108 -182
  28. package/sdk-core/core/src/core_tests/child_workflows.rs +16 -11
  29. package/sdk-core/core/src/core_tests/determinism.rs +24 -12
  30. package/sdk-core/core/src/core_tests/local_activities.rs +53 -27
  31. package/sdk-core/core/src/core_tests/mod.rs +30 -43
  32. package/sdk-core/core/src/core_tests/queries.rs +82 -81
  33. package/sdk-core/core/src/core_tests/workers.rs +111 -296
  34. package/sdk-core/core/src/core_tests/workflow_cancels.rs +4 -4
  35. package/sdk-core/core/src/core_tests/workflow_tasks.rs +257 -242
  36. package/sdk-core/core/src/lib.rs +73 -318
  37. package/sdk-core/core/src/pollers/mod.rs +4 -6
  38. package/sdk-core/core/src/pollers/poll_buffer.rs +20 -14
  39. package/sdk-core/core/src/protosext/mod.rs +7 -10
  40. package/sdk-core/core/src/replay/mod.rs +11 -150
  41. package/sdk-core/core/src/telemetry/metrics.rs +35 -2
  42. package/sdk-core/core/src/telemetry/mod.rs +49 -16
  43. package/sdk-core/core/src/telemetry/prometheus_server.rs +14 -35
  44. package/sdk-core/core/src/test_help/mod.rs +104 -170
  45. package/sdk-core/core/src/worker/activities/activity_heartbeat_manager.rs +57 -34
  46. package/sdk-core/core/src/worker/activities/local_activities.rs +95 -23
  47. package/sdk-core/core/src/worker/activities.rs +23 -16
  48. package/sdk-core/core/src/worker/client/mocks.rs +86 -0
  49. package/sdk-core/core/src/worker/client.rs +209 -0
  50. package/sdk-core/core/src/worker/mod.rs +207 -108
  51. package/sdk-core/core/src/workflow/driven_workflow.rs +21 -6
  52. package/sdk-core/core/src/workflow/history_update.rs +107 -24
  53. package/sdk-core/core/src/workflow/machines/activity_state_machine.rs +2 -3
  54. package/sdk-core/core/src/workflow/machines/child_workflow_state_machine.rs +2 -3
  55. package/sdk-core/core/src/workflow/machines/mod.rs +20 -17
  56. package/sdk-core/core/src/workflow/machines/signal_external_state_machine.rs +56 -19
  57. package/sdk-core/core/src/workflow/machines/transition_coverage.rs +5 -0
  58. package/sdk-core/core/src/workflow/machines/upsert_search_attributes_state_machine.rs +230 -22
  59. package/sdk-core/core/src/workflow/machines/workflow_machines.rs +81 -115
  60. package/sdk-core/core/src/workflow/machines/workflow_task_state_machine.rs +4 -4
  61. package/sdk-core/core/src/workflow/mod.rs +13 -1
  62. package/sdk-core/core/src/workflow/workflow_tasks/concurrency_manager.rs +70 -11
  63. package/sdk-core/core/src/workflow/workflow_tasks/mod.rs +65 -41
  64. package/sdk-core/core-api/Cargo.toml +9 -1
  65. package/sdk-core/core-api/LICENSE.txt +23 -0
  66. package/sdk-core/core-api/src/errors.rs +7 -38
  67. package/sdk-core/core-api/src/lib.rs +44 -52
  68. package/sdk-core/core-api/src/worker.rs +10 -2
  69. package/sdk-core/etc/deps.svg +127 -96
  70. package/sdk-core/protos/api_upstream/temporal/api/command/v1/message.proto +11 -7
  71. package/sdk-core/protos/api_upstream/temporal/api/enums/v1/failed_cause.proto +10 -0
  72. package/sdk-core/protos/api_upstream/temporal/api/enums/v1/namespace.proto +6 -1
  73. package/sdk-core/protos/api_upstream/temporal/api/enums/v1/workflow.proto +6 -0
  74. package/sdk-core/protos/api_upstream/temporal/api/errordetails/v1/message.proto +6 -0
  75. package/sdk-core/protos/api_upstream/temporal/api/history/v1/message.proto +2 -1
  76. package/sdk-core/protos/api_upstream/temporal/api/replication/v1/message.proto +3 -0
  77. package/sdk-core/protos/api_upstream/temporal/api/workflow/v1/message.proto +12 -0
  78. package/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/request_response.proto +25 -0
  79. package/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/service.proto +4 -0
  80. package/sdk-core/protos/local/temporal/sdk/core/bridge/bridge.proto +19 -35
  81. package/sdk-core/protos/local/temporal/sdk/core/core_interface.proto +2 -6
  82. package/sdk-core/protos/local/temporal/sdk/core/workflow_activation/workflow_activation.proto +53 -11
  83. package/sdk-core/protos/local/temporal/sdk/core/workflow_commands/workflow_commands.proto +14 -7
  84. package/sdk-core/protos/local/temporal/sdk/core/workflow_completion/workflow_completion.proto +3 -5
  85. package/sdk-core/sdk/Cargo.toml +16 -2
  86. package/sdk-core/sdk/LICENSE.txt +23 -0
  87. package/sdk-core/sdk/src/interceptors.rs +11 -0
  88. package/sdk-core/sdk/src/lib.rs +139 -151
  89. package/sdk-core/sdk/src/workflow_context/options.rs +86 -1
  90. package/sdk-core/sdk/src/workflow_context.rs +36 -17
  91. package/sdk-core/sdk/src/workflow_future.rs +19 -25
  92. package/sdk-core/sdk-core-protos/Cargo.toml +1 -1
  93. package/sdk-core/sdk-core-protos/build.rs +1 -0
  94. package/sdk-core/sdk-core-protos/src/history_info.rs +17 -4
  95. package/sdk-core/sdk-core-protos/src/lib.rs +251 -47
  96. package/sdk-core/test-utils/Cargo.toml +3 -1
  97. package/sdk-core/test-utils/src/canned_histories.rs +27 -0
  98. package/sdk-core/test-utils/src/histfetch.rs +3 -3
  99. package/sdk-core/test-utils/src/lib.rs +223 -68
  100. package/sdk-core/tests/integ_tests/client_tests.rs +27 -4
  101. package/sdk-core/tests/integ_tests/heartbeat_tests.rs +93 -14
  102. package/sdk-core/tests/integ_tests/polling_tests.rs +18 -12
  103. package/sdk-core/tests/integ_tests/queries_tests.rs +50 -53
  104. package/sdk-core/tests/integ_tests/workflow_tests/activities.rs +117 -103
  105. package/sdk-core/tests/integ_tests/workflow_tests/cancel_external.rs +8 -1
  106. package/sdk-core/tests/integ_tests/workflow_tests/cancel_wf.rs +10 -5
  107. package/sdk-core/tests/integ_tests/workflow_tests/child_workflows.rs +7 -1
  108. package/sdk-core/tests/integ_tests/workflow_tests/continue_as_new.rs +32 -9
  109. package/sdk-core/tests/integ_tests/workflow_tests/determinism.rs +7 -1
  110. package/sdk-core/tests/integ_tests/workflow_tests/local_activities.rs +76 -15
  111. package/sdk-core/tests/integ_tests/workflow_tests/patches.rs +19 -3
  112. package/sdk-core/tests/integ_tests/workflow_tests/replay.rs +39 -42
  113. package/sdk-core/tests/integ_tests/workflow_tests/resets.rs +84 -0
  114. package/sdk-core/tests/integ_tests/workflow_tests/signals.rs +30 -8
  115. package/sdk-core/tests/integ_tests/workflow_tests/stickyness.rs +21 -6
  116. package/sdk-core/tests/integ_tests/workflow_tests/timers.rs +26 -16
  117. package/sdk-core/tests/integ_tests/workflow_tests/upsert_search_attrs.rs +66 -0
  118. package/sdk-core/tests/integ_tests/workflow_tests.rs +78 -74
  119. package/sdk-core/tests/load_tests.rs +9 -6
  120. package/sdk-core/tests/main.rs +43 -10
  121. package/src/conversions.rs +7 -12
  122. package/src/lib.rs +322 -357
  123. package/sdk-core/client/src/mocks.rs +0 -167
  124. package/sdk-core/core/src/worker/dispatcher.rs +0 -171
  125. package/sdk-core/protos/local/temporal/sdk/core/bridge/service.proto +0 -61
package/Cargo.lock CHANGED
@@ -83,9 +83,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
83
83
 
84
84
  [[package]]
85
85
  name = "backoff"
86
- version = "0.3.0"
86
+ version = "0.4.0"
87
87
  source = "registry+https://github.com/rust-lang/crates.io-index"
88
- checksum = "9fe17f59a06fe8b87a6fc8bf53bb70b3aba76d7685f432487a68cd5552853625"
88
+ checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1"
89
89
  dependencies = [
90
90
  "getrandom",
91
91
  "instant",
@@ -288,18 +288,18 @@ dependencies = [
288
288
 
289
289
  [[package]]
290
290
  name = "derive_builder"
291
- version = "0.10.2"
291
+ version = "0.11.1"
292
292
  source = "registry+https://github.com/rust-lang/crates.io-index"
293
- checksum = "d13202debe11181040ae9063d739fa32cfcaaebe2275fe387703460ae2365b30"
293
+ checksum = "11d918e7dabe374a51dae0f29d818fece3b218b8b4eabec3bc4d42c537e7ed8f"
294
294
  dependencies = [
295
295
  "derive_builder_macro",
296
296
  ]
297
297
 
298
298
  [[package]]
299
299
  name = "derive_builder_core"
300
- version = "0.10.2"
300
+ version = "0.11.1"
301
301
  source = "registry+https://github.com/rust-lang/crates.io-index"
302
- checksum = "66e616858f6187ed828df7c64a6d71720d83767a7f19740b2d1b6fe6327b36e5"
302
+ checksum = "f712c2d4e52d5fcae53584e461dcb92fb2202e144ebf83ab0ba4360d18b767c7"
303
303
  dependencies = [
304
304
  "darling",
305
305
  "proc-macro2",
@@ -309,9 +309,9 @@ dependencies = [
309
309
 
310
310
  [[package]]
311
311
  name = "derive_builder_macro"
312
- version = "0.10.2"
312
+ version = "0.11.1"
313
313
  source = "registry+https://github.com/rust-lang/crates.io-index"
314
- checksum = "58a94ace95092c5acb1e97a7e846b310cfbd499652f72297da7493f618a98d73"
314
+ checksum = "a8a2ac71b4a9a590dde6cee3ca4687aca5e7ce06f4ee297c5a959de5f1e42b2e"
315
315
  dependencies = [
316
316
  "derive_builder_core",
317
317
  "syn",
@@ -369,12 +369,6 @@ dependencies = [
369
369
  "instant",
370
370
  ]
371
371
 
372
- [[package]]
373
- name = "fixedbitset"
374
- version = "0.2.0"
375
- source = "registry+https://github.com/rust-lang/crates.io-index"
376
- checksum = "37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d"
377
-
378
372
  [[package]]
379
373
  name = "fixedbitset"
380
374
  version = "0.4.1"
@@ -538,7 +532,7 @@ dependencies = [
538
532
  "indexmap",
539
533
  "slab",
540
534
  "tokio",
541
- "tokio-util",
535
+ "tokio-util 0.6.9",
542
536
  "tracing",
543
537
  ]
544
538
 
@@ -925,12 +919,31 @@ name = "opentelemetry"
925
919
  version = "0.16.0"
926
920
  source = "registry+https://github.com/rust-lang/crates.io-index"
927
921
  checksum = "e1cf9b1c4e9a6c4de793c632496fa490bdc0e1eea73f0c91394f7b6990935d22"
922
+ dependencies = [
923
+ "async-trait",
924
+ "crossbeam-channel",
925
+ "futures",
926
+ "js-sys",
927
+ "lazy_static",
928
+ "percent-encoding",
929
+ "pin-project",
930
+ "rand",
931
+ "thiserror",
932
+ ]
933
+
934
+ [[package]]
935
+ name = "opentelemetry"
936
+ version = "0.17.0"
937
+ source = "registry+https://github.com/rust-lang/crates.io-index"
938
+ checksum = "6105e89802af13fdf48c49d7646d3b533a70e536d818aae7e78ba0433d01acb8"
928
939
  dependencies = [
929
940
  "async-trait",
930
941
  "crossbeam-channel",
931
942
  "dashmap 4.0.2",
932
943
  "fnv",
933
- "futures",
944
+ "futures-channel",
945
+ "futures-executor",
946
+ "futures-util",
934
947
  "js-sys",
935
948
  "lazy_static",
936
949
  "percent-encoding",
@@ -943,28 +956,29 @@ dependencies = [
943
956
 
944
957
  [[package]]
945
958
  name = "opentelemetry-otlp"
946
- version = "0.9.0"
959
+ version = "0.10.0"
947
960
  source = "registry+https://github.com/rust-lang/crates.io-index"
948
- checksum = "f19d4b43842433c420c548c985d158f5628bba5b518e0be64627926d19889992"
961
+ checksum = "9d1a6ca9de4c8b00aa7f1a153bd76cb263287155cec642680d79d98706f3d28a"
949
962
  dependencies = [
950
963
  "async-trait",
951
964
  "futures",
965
+ "futures-util",
952
966
  "http",
953
- "opentelemetry",
954
- "prost 0.8.0",
967
+ "opentelemetry 0.17.0",
968
+ "prost",
955
969
  "thiserror",
956
970
  "tokio",
957
- "tonic 0.5.2",
958
- "tonic-build 0.5.2",
971
+ "tonic",
972
+ "tonic-build",
959
973
  ]
960
974
 
961
975
  [[package]]
962
976
  name = "opentelemetry-prometheus"
963
- version = "0.9.0"
977
+ version = "0.10.0"
964
978
  source = "registry+https://github.com/rust-lang/crates.io-index"
965
- checksum = "4ee9c06c1366665e7d4dba6540a42ea48900a9c92dc5b963f3ae05fbba76dc63"
979
+ checksum = "9328977e479cebe12ce0d3fcecdaea4721d234895a9440c5b5dfd113f0594ac6"
966
980
  dependencies = [
967
- "opentelemetry",
981
+ "opentelemetry 0.17.0",
968
982
  "prometheus",
969
983
  "protobuf",
970
984
  ]
@@ -1023,23 +1037,13 @@ version = "2.1.0"
1023
1037
  source = "registry+https://github.com/rust-lang/crates.io-index"
1024
1038
  checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
1025
1039
 
1026
- [[package]]
1027
- name = "petgraph"
1028
- version = "0.5.1"
1029
- source = "registry+https://github.com/rust-lang/crates.io-index"
1030
- checksum = "467d164a6de56270bd7c4d070df81d07beace25012d5103ced4e9ff08d6afdb7"
1031
- dependencies = [
1032
- "fixedbitset 0.2.0",
1033
- "indexmap",
1034
- ]
1035
-
1036
1040
  [[package]]
1037
1041
  name = "petgraph"
1038
1042
  version = "0.6.0"
1039
1043
  source = "registry+https://github.com/rust-lang/crates.io-index"
1040
1044
  checksum = "4a13a2fa9d0b63e5f22328828741e523766fff0ee9e779316902290dff3f824f"
1041
1045
  dependencies = [
1042
- "fixedbitset 0.4.1",
1046
+ "fixedbitset",
1043
1047
  "indexmap",
1044
1048
  ]
1045
1049
 
@@ -1122,9 +1126,9 @@ dependencies = [
1122
1126
 
1123
1127
  [[package]]
1124
1128
  name = "prometheus"
1125
- version = "0.12.0"
1129
+ version = "0.13.0"
1126
1130
  source = "registry+https://github.com/rust-lang/crates.io-index"
1127
- checksum = "5986aa8d62380092d2f50f8b1cdba9cb9b6731ffd4b25b51fd126b6c3e05b99c"
1131
+ checksum = "b7f64969ffd5dd8f39bd57a68ac53c163a095ed9d0fb707146da1b27025a3504"
1128
1132
  dependencies = [
1129
1133
  "cfg-if",
1130
1134
  "fnv",
@@ -1135,16 +1139,6 @@ dependencies = [
1135
1139
  "thiserror",
1136
1140
  ]
1137
1141
 
1138
- [[package]]
1139
- name = "prost"
1140
- version = "0.8.0"
1141
- source = "registry+https://github.com/rust-lang/crates.io-index"
1142
- checksum = "de5e2533f59d08fcf364fd374ebda0692a70bd6d7e66ef97f306f45c6c5d8020"
1143
- dependencies = [
1144
- "bytes",
1145
- "prost-derive 0.8.0",
1146
- ]
1147
-
1148
1142
  [[package]]
1149
1143
  name = "prost"
1150
1144
  version = "0.9.0"
@@ -1152,25 +1146,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1152
1146
  checksum = "444879275cb4fd84958b1a1d5420d15e6fcf7c235fe47f053c9c2a80aceb6001"
1153
1147
  dependencies = [
1154
1148
  "bytes",
1155
- "prost-derive 0.9.0",
1156
- ]
1157
-
1158
- [[package]]
1159
- name = "prost-build"
1160
- version = "0.8.0"
1161
- source = "registry+https://github.com/rust-lang/crates.io-index"
1162
- checksum = "355f634b43cdd80724ee7848f95770e7e70eefa6dcf14fea676216573b8fd603"
1163
- dependencies = [
1164
- "bytes",
1165
- "heck",
1166
- "itertools",
1167
- "log",
1168
- "multimap",
1169
- "petgraph 0.5.1",
1170
- "prost 0.8.0",
1171
- "prost-types 0.8.0",
1172
- "tempfile",
1173
- "which",
1149
+ "prost-derive",
1174
1150
  ]
1175
1151
 
1176
1152
  [[package]]
@@ -1185,27 +1161,14 @@ dependencies = [
1185
1161
  "lazy_static",
1186
1162
  "log",
1187
1163
  "multimap",
1188
- "petgraph 0.6.0",
1189
- "prost 0.9.0",
1190
- "prost-types 0.9.0",
1164
+ "petgraph",
1165
+ "prost",
1166
+ "prost-types",
1191
1167
  "regex",
1192
1168
  "tempfile",
1193
1169
  "which",
1194
1170
  ]
1195
1171
 
1196
- [[package]]
1197
- name = "prost-derive"
1198
- version = "0.8.0"
1199
- source = "registry+https://github.com/rust-lang/crates.io-index"
1200
- checksum = "600d2f334aa05acb02a755e217ef1ab6dea4d51b58b7846588b747edec04efba"
1201
- dependencies = [
1202
- "anyhow",
1203
- "itertools",
1204
- "proc-macro2",
1205
- "quote",
1206
- "syn",
1207
- ]
1208
-
1209
1172
  [[package]]
1210
1173
  name = "prost-derive"
1211
1174
  version = "0.9.0"
@@ -1219,16 +1182,6 @@ dependencies = [
1219
1182
  "syn",
1220
1183
  ]
1221
1184
 
1222
- [[package]]
1223
- name = "prost-types"
1224
- version = "0.8.0"
1225
- source = "registry+https://github.com/rust-lang/crates.io-index"
1226
- checksum = "603bbd6394701d13f3f25aada59c7de9d35a6a5887cfc156181234a44002771b"
1227
- dependencies = [
1228
- "bytes",
1229
- "prost 0.8.0",
1230
- ]
1231
-
1232
1185
  [[package]]
1233
1186
  name = "prost-types"
1234
1187
  version = "0.9.0"
@@ -1236,7 +1189,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1236
1189
  checksum = "534b7a0e836e3c482d2693070f982e39e7611da9695d4d1f5a4b186b51faef0a"
1237
1190
  dependencies = [
1238
1191
  "bytes",
1239
- "prost 0.9.0",
1192
+ "prost",
1240
1193
  ]
1241
1194
 
1242
1195
  [[package]]
@@ -1534,6 +1487,12 @@ dependencies = [
1534
1487
  "libc",
1535
1488
  ]
1536
1489
 
1490
+ [[package]]
1491
+ name = "siphasher"
1492
+ version = "0.3.10"
1493
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1494
+ checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
1495
+
1537
1496
  [[package]]
1538
1497
  name = "slab"
1539
1498
  version = "0.4.5"
@@ -1613,13 +1572,12 @@ dependencies = [
1613
1572
  "futures",
1614
1573
  "futures-retry",
1615
1574
  "http",
1616
- "mockall",
1617
- "opentelemetry",
1618
- "prost-types 0.9.0",
1575
+ "opentelemetry 0.17.0",
1576
+ "prost-types",
1619
1577
  "temporal-sdk-core-protos",
1620
1578
  "thiserror",
1621
1579
  "tokio",
1622
- "tonic 0.6.2",
1580
+ "tonic",
1623
1581
  "tower",
1624
1582
  "tracing",
1625
1583
  "url",
@@ -1646,18 +1604,20 @@ dependencies = [
1646
1604
  "lazy_static",
1647
1605
  "log",
1648
1606
  "lru",
1607
+ "mockall",
1649
1608
  "once_cell",
1650
- "opentelemetry",
1609
+ "opentelemetry 0.17.0",
1651
1610
  "opentelemetry-otlp",
1652
1611
  "opentelemetry-prometheus",
1653
- "parking_lot 0.11.2",
1612
+ "parking_lot 0.12.0",
1654
1613
  "prometheus",
1655
- "prost 0.9.0",
1656
- "prost-types 0.9.0",
1614
+ "prost",
1615
+ "prost-types",
1657
1616
  "rand",
1658
1617
  "ringbuf",
1659
1618
  "rustfsm",
1660
1619
  "serde",
1620
+ "siphasher",
1661
1621
  "slotmap",
1662
1622
  "temporal-client",
1663
1623
  "temporal-sdk-core-api",
@@ -1665,9 +1625,9 @@ dependencies = [
1665
1625
  "thiserror",
1666
1626
  "tokio",
1667
1627
  "tokio-stream",
1668
- "tokio-util",
1669
- "tonic 0.6.2",
1670
- "tonic-build 0.6.2",
1628
+ "tokio-util 0.7.0",
1629
+ "tonic",
1630
+ "tonic-build",
1671
1631
  "tracing",
1672
1632
  "tracing-futures",
1673
1633
  "tracing-opentelemetry",
@@ -1684,11 +1644,12 @@ dependencies = [
1684
1644
  "async-trait",
1685
1645
  "derive_builder",
1686
1646
  "log",
1687
- "prost-types 0.9.0",
1647
+ "opentelemetry 0.17.0",
1648
+ "prost-types",
1688
1649
  "temporal-client",
1689
1650
  "temporal-sdk-core-protos",
1690
1651
  "thiserror",
1691
- "tonic 0.6.2",
1652
+ "tonic",
1692
1653
  ]
1693
1654
 
1694
1655
  [[package]]
@@ -1698,14 +1659,14 @@ dependencies = [
1698
1659
  "anyhow",
1699
1660
  "base64",
1700
1661
  "derive_more",
1701
- "prost 0.9.0",
1702
- "prost-types 0.9.0",
1662
+ "prost",
1663
+ "prost-types",
1703
1664
  "rand",
1704
1665
  "serde",
1705
1666
  "serde_json",
1706
1667
  "thiserror",
1707
- "tonic 0.6.2",
1708
- "tonic-build 0.5.2",
1668
+ "tonic",
1669
+ "tonic-build",
1709
1670
  "uuid",
1710
1671
  ]
1711
1672
 
@@ -1717,9 +1678,10 @@ dependencies = [
1717
1678
  "log",
1718
1679
  "neon",
1719
1680
  "once_cell",
1720
- "opentelemetry",
1721
- "prost 0.9.0",
1722
- "prost-types 0.9.0",
1681
+ "opentelemetry 0.16.0",
1682
+ "prost",
1683
+ "prost-types",
1684
+ "temporal-client",
1723
1685
  "temporal-sdk-core",
1724
1686
  "tokio",
1725
1687
  ]
@@ -1851,34 +1813,17 @@ dependencies = [
1851
1813
  ]
1852
1814
 
1853
1815
  [[package]]
1854
- name = "tonic"
1855
- version = "0.5.2"
1816
+ name = "tokio-util"
1817
+ version = "0.7.0"
1856
1818
  source = "registry+https://github.com/rust-lang/crates.io-index"
1857
- checksum = "796c5e1cd49905e65dd8e700d4cb1dffcbfdb4fc9d017de08c1a537afd83627c"
1819
+ checksum = "64910e1b9c1901aaf5375561e35b9c057d95ff41a44ede043a03e09279eabaf1"
1858
1820
  dependencies = [
1859
- "async-stream",
1860
- "async-trait",
1861
- "base64",
1862
1821
  "bytes",
1863
1822
  "futures-core",
1864
- "futures-util",
1865
- "h2",
1866
- "http",
1867
- "http-body",
1868
- "hyper",
1869
- "hyper-timeout",
1870
- "percent-encoding",
1871
- "pin-project",
1872
- "prost 0.8.0",
1873
- "prost-derive 0.8.0",
1823
+ "futures-sink",
1824
+ "log",
1825
+ "pin-project-lite",
1874
1826
  "tokio",
1875
- "tokio-stream",
1876
- "tokio-util",
1877
- "tower",
1878
- "tower-layer",
1879
- "tower-service",
1880
- "tracing",
1881
- "tracing-futures",
1882
1827
  ]
1883
1828
 
1884
1829
  [[package]]
@@ -1900,13 +1845,13 @@ dependencies = [
1900
1845
  "hyper-timeout",
1901
1846
  "percent-encoding",
1902
1847
  "pin-project",
1903
- "prost 0.9.0",
1904
- "prost-derive 0.9.0",
1848
+ "prost",
1849
+ "prost-derive",
1905
1850
  "rustls-native-certs",
1906
1851
  "tokio",
1907
1852
  "tokio-rustls",
1908
1853
  "tokio-stream",
1909
- "tokio-util",
1854
+ "tokio-util 0.6.9",
1910
1855
  "tower",
1911
1856
  "tower-layer",
1912
1857
  "tower-service",
@@ -1914,18 +1859,6 @@ dependencies = [
1914
1859
  "tracing-futures",
1915
1860
  ]
1916
1861
 
1917
- [[package]]
1918
- name = "tonic-build"
1919
- version = "0.5.2"
1920
- source = "registry+https://github.com/rust-lang/crates.io-index"
1921
- checksum = "12b52d07035516c2b74337d2ac7746075e7dcae7643816c1b12c5ff8a7484c08"
1922
- dependencies = [
1923
- "proc-macro2",
1924
- "prost-build 0.8.0",
1925
- "quote",
1926
- "syn",
1927
- ]
1928
-
1929
1862
  [[package]]
1930
1863
  name = "tonic-build"
1931
1864
  version = "0.6.2"
@@ -1933,7 +1866,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1933
1866
  checksum = "9403f1bafde247186684b230dc6f38b5cd514584e8bec1dd32514be4745fa757"
1934
1867
  dependencies = [
1935
1868
  "proc-macro2",
1936
- "prost-build 0.9.0",
1869
+ "prost-build",
1937
1870
  "quote",
1938
1871
  "syn",
1939
1872
  ]
@@ -1953,7 +1886,7 @@ dependencies = [
1953
1886
  "slab",
1954
1887
  "tokio",
1955
1888
  "tokio-stream",
1956
- "tokio-util",
1889
+ "tokio-util 0.6.9",
1957
1890
  "tower-layer",
1958
1891
  "tower-service",
1959
1892
  "tracing",
@@ -2028,11 +1961,11 @@ dependencies = [
2028
1961
 
2029
1962
  [[package]]
2030
1963
  name = "tracing-opentelemetry"
2031
- version = "0.16.0"
1964
+ version = "0.17.2"
2032
1965
  source = "registry+https://github.com/rust-lang/crates.io-index"
2033
- checksum = "3ffbf13a0f8b054a4e59df3a173b818e9c6177c02789871f2073977fd0062076"
1966
+ checksum = "1f9378e96a9361190ae297e7f3a8ff644aacd2897f244b1ff81f381669196fa6"
2034
1967
  dependencies = [
2035
- "opentelemetry",
1968
+ "opentelemetry 0.17.0",
2036
1969
  "tracing",
2037
1970
  "tracing-core",
2038
1971
  "tracing-log",
package/Cargo.toml CHANGED
@@ -26,3 +26,4 @@ prost-types = "0.9"
26
26
  tokio = "1.13"
27
27
  once_cell = "1.7.2"
28
28
  temporal-sdk-core = { version = "*", path = "./sdk-core/core" }
29
+ temporal-client = { version = "*", path = "./sdk-core/client" }
package/index.d.ts CHANGED
@@ -21,15 +21,11 @@ export interface RetryOptions {
21
21
  maxRetries: number;
22
22
  }
23
23
 
24
- export interface ServerOptions {
24
+ export interface ClientOptions {
25
25
  /**
26
26
  * The URL of the Temporal server to connect to
27
27
  */
28
28
  url: string;
29
- /**
30
- * What namespace will we operate under
31
- */
32
- namespace: string;
33
29
 
34
30
  /**
35
31
  * A human-readable string that can identify your worker
@@ -57,20 +53,6 @@ export interface ServerOptions {
57
53
  retry?: RetryOptions;
58
54
  }
59
55
 
60
- /**
61
- * Configure a Core instance
62
- */
63
- export interface CoreOptions {
64
- /**
65
- * Options for communicating with the Temporal server
66
- */
67
- serverOptions: ServerOptions;
68
- /**
69
- * Telemetry options
70
- */
71
- telemetryOptions: TelemetryOptions;
72
- }
73
-
74
56
  export interface TelemetryOptions {
75
57
  /**
76
58
  * If set, telemetry is turned on and this URL must be the URL of a gRPC
@@ -158,28 +140,30 @@ export interface LogEntry {
158
140
  }
159
141
 
160
142
  export interface Worker {}
161
- export interface Core {}
143
+ export interface Runtime {}
144
+ export interface Client {}
162
145
 
163
146
  export declare type PollCallback = (err: Error, result: ArrayBuffer) => void;
164
147
  export declare type WorkerCallback = (err: Error, result: Worker) => void;
165
- export declare type CoreCallback = (err: Error, result: Core) => void;
148
+ export declare type ClientCallback = (err: Error, result: Client) => void;
166
149
  export declare type VoidCallback = (err: Error, result: void) => void;
167
150
  export declare type LogsCallback = (err: Error, result: LogEntry[]) => void;
168
151
 
169
152
  // TODO: improve type, for some reason Error is not accepted here
170
153
  export declare function registerErrors(errors: Record<string, any>): void;
171
- export declare function newCore(coreOptions: CoreOptions, callback: CoreCallback): void;
172
- export declare function newReplayCore(telemOptions: TelemetryOptions, callback: CoreCallback): void;
173
- export declare function newWorker(core: Core, workerOptions: WorkerOptions, callback: WorkerCallback): void;
154
+ export declare function initTelemetry(telemOptions: TelemetryOptions): void;
155
+ export declare function newRuntime(): Runtime;
156
+ export declare function newClient(runtime: Runtime, clientOptions: ClientOptions, callback: ClientCallback): void;
157
+ export declare function newWorker(client: Client, workerOptions: WorkerOptions, callback: WorkerCallback): void;
174
158
  export declare function newReplayWorker(
175
- core: Core,
159
+ runtime: Runtime,
176
160
  workerOptions: WorkerOptions,
177
161
  history: ArrayBuffer,
178
162
  callback: WorkerCallback
179
163
  ): void;
180
164
  export declare function workerShutdown(worker: Worker, callback: VoidCallback): void;
181
- export declare function coreShutdown(core: Core, callback: VoidCallback): void;
182
- export declare function corePollLogs(core: Core, callback: LogsCallback): void;
165
+ export declare function runtimeShutdown(runtime: Runtime, callback: VoidCallback): void;
166
+ export declare function pollLogs(runtime: Runtime, callback: LogsCallback): void;
183
167
  export declare function workerPollWorkflowActivation(
184
168
  worker: Worker,
185
169
  spanContext: SpanContext,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@temporalio/core-bridge",
3
- "version": "0.19.2",
3
+ "version": "0.20.2",
4
4
  "description": "Temporal.io SDK Core<>Node bridge",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -20,7 +20,7 @@
20
20
  "license": "MIT",
21
21
  "dependencies": {
22
22
  "@opentelemetry/api": "^1.0.3",
23
- "@temporalio/internal-non-workflow-common": "^0.19.2",
23
+ "@temporalio/internal-non-workflow-common": "^0.20.0",
24
24
  "arg": "^5.0.1",
25
25
  "cargo-cp-artifact": "^0.1.4",
26
26
  "which": "^2.0.2"
@@ -43,5 +43,5 @@
43
43
  "publishConfig": {
44
44
  "access": "public"
45
45
  },
46
- "gitHead": "57172075a1eb3f2292a1188d260fab0ee155349f"
46
+ "gitHead": "ce4a3b017cdc327fb9f2d3812e3278304f6514b4"
47
47
  }
@@ -1,4 +1,4 @@
1
- FROM rust:1.58
1
+ FROM rust:1.59
2
2
 
3
3
  RUN rustup component add rustfmt && \
4
4
  rustup component add clippy
@@ -9,7 +9,7 @@ services:
9
9
  # - '9042:9042'
10
10
 
11
11
  temporal:
12
- image: temporalio/auto-setup:1.13.0
12
+ image: temporalio/auto-setup:1.15.0
13
13
  ports:
14
14
  - "7233:7233"
15
15
  - "7234:7234"
@@ -1,2 +1,3 @@
1
1
  [alias]
2
2
  integ-test = ["test", "--test", "integ_tests"]
3
+ lint = ["clippy", "--all", "--test", "integ_tests", "--test", "load_tests"]
@@ -1,3 +1,3 @@
1
1
  # Primary owners
2
2
 
3
- * @vitarb @Sushisource @bergundy @cretz
3
+ * @Sushisource @bergundy @cretz @Spikhalskiy