@temporalio/core-bridge 1.3.0 → 1.4.0

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 (36) hide show
  1. package/Cargo.lock +117 -212
  2. package/index.d.ts +8 -2
  3. package/package.json +2 -3
  4. package/releases/aarch64-apple-darwin/index.node +0 -0
  5. package/releases/aarch64-unknown-linux-gnu/index.node +0 -0
  6. package/releases/x86_64-apple-darwin/index.node +0 -0
  7. package/releases/x86_64-pc-windows-msvc/index.node +0 -0
  8. package/releases/x86_64-unknown-linux-gnu/index.node +0 -0
  9. package/sdk-core/.buildkite/pipeline.yml +2 -0
  10. package/sdk-core/.cargo/config.toml +1 -1
  11. package/sdk-core/bridge-ffi/src/lib.rs +2 -2
  12. package/sdk-core/client/Cargo.toml +1 -1
  13. package/sdk-core/client/src/lib.rs +16 -11
  14. package/sdk-core/client/src/metrics.rs +13 -11
  15. package/sdk-core/client/src/raw.rs +1 -2
  16. package/sdk-core/client/src/retry.rs +57 -42
  17. package/sdk-core/core/Cargo.toml +12 -8
  18. package/sdk-core/core/src/core_tests/activity_tasks.rs +65 -40
  19. package/sdk-core/core/src/ephemeral_server/mod.rs +19 -3
  20. package/sdk-core/core/src/lib.rs +2 -2
  21. package/sdk-core/core/src/pollers/mod.rs +2 -0
  22. package/sdk-core/core/src/telemetry/metrics.rs +48 -39
  23. package/sdk-core/core/src/telemetry/mod.rs +53 -22
  24. package/sdk-core/core/src/telemetry/prometheus_server.rs +17 -13
  25. package/sdk-core/core/src/worker/client/mocks.rs +1 -0
  26. package/sdk-core/core/src/worker/workflow/mod.rs +4 -1
  27. package/sdk-core/core-api/Cargo.toml +1 -1
  28. package/sdk-core/test-utils/src/lib.rs +21 -2
  29. package/sdk-core/tests/integ_tests/ephemeral_server_tests.rs +27 -40
  30. package/sdk-core/tests/integ_tests/polling_tests.rs +1 -0
  31. package/sdk-core/tests/integ_tests/queries_tests.rs +1 -1
  32. package/sdk-core/tests/integ_tests/workflow_tests/replay.rs +1 -5
  33. package/sdk-core/tests/integ_tests/workflow_tests/upsert_search_attrs.rs +8 -2
  34. package/sdk-core/tests/main.rs +7 -0
  35. package/sdk-core/tests/runner.rs +93 -0
  36. package/src/conversions.rs +19 -3
package/Cargo.lock CHANGED
@@ -429,16 +429,6 @@ dependencies = [
429
429
  "syn",
430
430
  ]
431
431
 
432
- [[package]]
433
- name = "dashmap"
434
- version = "4.0.2"
435
- source = "registry+https://github.com/rust-lang/crates.io-index"
436
- checksum = "e77a43b28d0668df09411cb0bc9a8c2adc40f9a048afe863e05fd43251e8e39c"
437
- dependencies = [
438
- "cfg-if",
439
- "num_cpus",
440
- ]
441
-
442
432
  [[package]]
443
433
  name = "dashmap"
444
434
  version = "5.2.0"
@@ -747,11 +737,12 @@ dependencies = [
747
737
 
748
738
  [[package]]
749
739
  name = "governor"
750
- version = "0.4.2"
740
+ version = "0.5.0"
751
741
  source = "registry+https://github.com/rust-lang/crates.io-index"
752
- checksum = "19775995ee20209163239355bc3ad2f33f83da35d9ef72dea26e5af753552c87"
742
+ checksum = "de1b4626e87b9eb1d603ed23067ba1e29ec1d0b35325a2b96c3fe1cf20871f56"
753
743
  dependencies = [
754
- "dashmap 5.2.0",
744
+ "cfg-if",
745
+ "dashmap",
755
746
  "futures",
756
747
  "futures-timer",
757
748
  "no-std-compat",
@@ -777,7 +768,7 @@ dependencies = [
777
768
  "indexmap",
778
769
  "slab",
779
770
  "tokio",
780
- "tokio-util 0.7.1",
771
+ "tokio-util",
781
772
  "tracing",
782
773
  ]
783
774
 
@@ -796,15 +787,6 @@ dependencies = [
796
787
  "ahash",
797
788
  ]
798
789
 
799
- [[package]]
800
- name = "heck"
801
- version = "0.3.3"
802
- source = "registry+https://github.com/rust-lang/crates.io-index"
803
- checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
804
- dependencies = [
805
- "unicode-segmentation",
806
- ]
807
-
808
790
  [[package]]
809
791
  name = "heck"
810
792
  version = "0.4.0"
@@ -1027,9 +1009,9 @@ dependencies = [
1027
1009
 
1028
1010
  [[package]]
1029
1011
  name = "log"
1030
- version = "0.4.16"
1012
+ version = "0.4.17"
1031
1013
  source = "registry+https://github.com/rust-lang/crates.io-index"
1032
- checksum = "6389c490849ff5bc16be905ae24bc913a9c8892e19b2341dbc175e14c341c2b8"
1014
+ checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
1033
1015
  dependencies = [
1034
1016
  "cfg-if",
1035
1017
  ]
@@ -1306,56 +1288,95 @@ dependencies = [
1306
1288
 
1307
1289
  [[package]]
1308
1290
  name = "opentelemetry"
1309
- version = "0.17.0"
1291
+ version = "0.18.0"
1310
1292
  source = "registry+https://github.com/rust-lang/crates.io-index"
1311
- checksum = "6105e89802af13fdf48c49d7646d3b533a70e536d818aae7e78ba0433d01acb8"
1293
+ checksum = "69d6c3d7288a106c0a363e4b0e8d308058d56902adefb16f4936f417ffef086e"
1312
1294
  dependencies = [
1313
- "async-trait",
1314
- "crossbeam-channel",
1315
- "dashmap 4.0.2",
1316
- "fnv",
1317
- "futures-channel",
1318
- "futures-executor",
1319
- "futures-util",
1320
- "js-sys",
1321
- "lazy_static",
1322
- "percent-encoding",
1323
- "pin-project",
1324
- "rand",
1325
- "thiserror",
1326
- "tokio",
1327
- "tokio-stream",
1295
+ "opentelemetry_api",
1296
+ "opentelemetry_sdk",
1328
1297
  ]
1329
1298
 
1330
1299
  [[package]]
1331
1300
  name = "opentelemetry-otlp"
1332
- version = "0.10.0"
1301
+ version = "0.11.0"
1333
1302
  source = "registry+https://github.com/rust-lang/crates.io-index"
1334
- checksum = "9d1a6ca9de4c8b00aa7f1a153bd76cb263287155cec642680d79d98706f3d28a"
1303
+ checksum = "d1c928609d087790fc936a1067bdc310ae702bdf3b090c3f281b713622c8bbde"
1335
1304
  dependencies = [
1336
1305
  "async-trait",
1337
1306
  "futures",
1338
1307
  "futures-util",
1339
1308
  "http",
1340
- "opentelemetry 0.17.0",
1341
- "prost 0.9.0",
1309
+ "opentelemetry 0.18.0",
1310
+ "opentelemetry-proto",
1311
+ "prost",
1342
1312
  "thiserror",
1343
1313
  "tokio",
1344
- "tonic 0.6.2",
1345
- "tonic-build 0.6.2",
1314
+ "tonic",
1346
1315
  ]
1347
1316
 
1348
1317
  [[package]]
1349
1318
  name = "opentelemetry-prometheus"
1350
- version = "0.10.0"
1319
+ version = "0.11.0"
1351
1320
  source = "registry+https://github.com/rust-lang/crates.io-index"
1352
- checksum = "9328977e479cebe12ce0d3fcecdaea4721d234895a9440c5b5dfd113f0594ac6"
1321
+ checksum = "06c3d833835a53cf91331d2cfb27e9121f5a95261f31f08a1f79ab31688b8da8"
1353
1322
  dependencies = [
1354
- "opentelemetry 0.17.0",
1323
+ "opentelemetry 0.18.0",
1355
1324
  "prometheus",
1356
1325
  "protobuf",
1357
1326
  ]
1358
1327
 
1328
+ [[package]]
1329
+ name = "opentelemetry-proto"
1330
+ version = "0.1.0"
1331
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1332
+ checksum = "d61a2f56df5574508dd86aaca016c917489e589ece4141df1b5e349af8d66c28"
1333
+ dependencies = [
1334
+ "futures",
1335
+ "futures-util",
1336
+ "opentelemetry 0.18.0",
1337
+ "prost",
1338
+ "tonic",
1339
+ "tonic-build",
1340
+ ]
1341
+
1342
+ [[package]]
1343
+ name = "opentelemetry_api"
1344
+ version = "0.18.0"
1345
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1346
+ checksum = "c24f96e21e7acc813c7a8394ee94978929db2bcc46cf6b5014fc612bf7760c22"
1347
+ dependencies = [
1348
+ "fnv",
1349
+ "futures-channel",
1350
+ "futures-util",
1351
+ "indexmap",
1352
+ "js-sys",
1353
+ "once_cell",
1354
+ "pin-project-lite",
1355
+ "thiserror",
1356
+ ]
1357
+
1358
+ [[package]]
1359
+ name = "opentelemetry_sdk"
1360
+ version = "0.18.0"
1361
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1362
+ checksum = "1ca41c4933371b61c2a2f214bf16931499af4ec90543604ec828f7a625c09113"
1363
+ dependencies = [
1364
+ "async-trait",
1365
+ "crossbeam-channel",
1366
+ "dashmap",
1367
+ "fnv",
1368
+ "futures-channel",
1369
+ "futures-executor",
1370
+ "futures-util",
1371
+ "once_cell",
1372
+ "opentelemetry_api",
1373
+ "percent-encoding",
1374
+ "rand",
1375
+ "thiserror",
1376
+ "tokio",
1377
+ "tokio-stream",
1378
+ ]
1379
+
1359
1380
  [[package]]
1360
1381
  name = "parking_lot"
1361
1382
  version = "0.11.2"
@@ -1465,9 +1486,9 @@ dependencies = [
1465
1486
 
1466
1487
  [[package]]
1467
1488
  name = "pin-project-lite"
1468
- version = "0.2.8"
1489
+ version = "0.2.9"
1469
1490
  source = "registry+https://github.com/rust-lang/crates.io-index"
1470
- checksum = "e280fbe77cc62c91527259e9442153f4688736748d24660126286329742b4c6c"
1491
+ checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
1471
1492
 
1472
1493
  [[package]]
1473
1494
  name = "pin-utils"
@@ -1551,16 +1572,6 @@ dependencies = [
1551
1572
  "thiserror",
1552
1573
  ]
1553
1574
 
1554
- [[package]]
1555
- name = "prost"
1556
- version = "0.9.0"
1557
- source = "registry+https://github.com/rust-lang/crates.io-index"
1558
- checksum = "444879275cb4fd84958b1a1d5420d15e6fcf7c235fe47f053c9c2a80aceb6001"
1559
- dependencies = [
1560
- "bytes",
1561
- "prost-derive 0.9.0",
1562
- ]
1563
-
1564
1575
  [[package]]
1565
1576
  name = "prost"
1566
1577
  version = "0.11.0"
@@ -1568,27 +1579,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1568
1579
  checksum = "399c3c31cdec40583bb68f0b18403400d01ec4289c383aa047560439952c4dd7"
1569
1580
  dependencies = [
1570
1581
  "bytes",
1571
- "prost-derive 0.11.0",
1572
- ]
1573
-
1574
- [[package]]
1575
- name = "prost-build"
1576
- version = "0.9.0"
1577
- source = "registry+https://github.com/rust-lang/crates.io-index"
1578
- checksum = "62941722fb675d463659e49c4f3fe1fe792ff24fe5bbaa9c08cd3b98a1c354f5"
1579
- dependencies = [
1580
- "bytes",
1581
- "heck 0.3.3",
1582
- "itertools",
1583
- "lazy_static",
1584
- "log",
1585
- "multimap",
1586
- "petgraph",
1587
- "prost 0.9.0",
1588
- "prost-types 0.9.0",
1589
- "regex",
1590
- "tempfile",
1591
- "which",
1582
+ "prost-derive",
1592
1583
  ]
1593
1584
 
1594
1585
  [[package]]
@@ -1598,32 +1589,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1598
1589
  checksum = "7f835c582e6bd972ba8347313300219fed5bfa52caf175298d860b61ff6069bb"
1599
1590
  dependencies = [
1600
1591
  "bytes",
1601
- "heck 0.4.0",
1592
+ "heck",
1602
1593
  "itertools",
1603
1594
  "lazy_static",
1604
1595
  "log",
1605
1596
  "multimap",
1606
1597
  "petgraph",
1607
- "prost 0.11.0",
1608
- "prost-types 0.11.1",
1598
+ "prost",
1599
+ "prost-types",
1609
1600
  "regex",
1610
1601
  "tempfile",
1611
1602
  "which",
1612
1603
  ]
1613
1604
 
1614
- [[package]]
1615
- name = "prost-derive"
1616
- version = "0.9.0"
1617
- source = "registry+https://github.com/rust-lang/crates.io-index"
1618
- checksum = "f9cc1a3263e07e0bf68e96268f37665207b49560d98739662cdfaae215c720fe"
1619
- dependencies = [
1620
- "anyhow",
1621
- "itertools",
1622
- "proc-macro2",
1623
- "quote",
1624
- "syn",
1625
- ]
1626
-
1627
1605
  [[package]]
1628
1606
  name = "prost-derive"
1629
1607
  version = "0.11.0"
@@ -1637,16 +1615,6 @@ dependencies = [
1637
1615
  "syn",
1638
1616
  ]
1639
1617
 
1640
- [[package]]
1641
- name = "prost-types"
1642
- version = "0.9.0"
1643
- source = "registry+https://github.com/rust-lang/crates.io-index"
1644
- checksum = "534b7a0e836e3c482d2693070f982e39e7611da9695d4d1f5a4b186b51faef0a"
1645
- dependencies = [
1646
- "bytes",
1647
- "prost 0.9.0",
1648
- ]
1649
-
1650
1618
  [[package]]
1651
1619
  name = "prost-types"
1652
1620
  version = "0.11.1"
@@ -1654,7 +1622,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1654
1622
  checksum = "4dfaa718ad76a44b3415e6c4d53b17c8f99160dcb3a99b10470fce8ad43f6e3e"
1655
1623
  dependencies = [
1656
1624
  "bytes",
1657
- "prost 0.11.0",
1625
+ "prost",
1658
1626
  ]
1659
1627
 
1660
1628
  [[package]]
@@ -1801,7 +1769,7 @@ dependencies = [
1801
1769
  "serde_urlencoded",
1802
1770
  "tokio",
1803
1771
  "tokio-rustls",
1804
- "tokio-util 0.7.1",
1772
+ "tokio-util",
1805
1773
  "tower-service",
1806
1774
  "url",
1807
1775
  "wasm-bindgen",
@@ -2180,13 +2148,13 @@ dependencies = [
2180
2148
  "futures-retry",
2181
2149
  "http",
2182
2150
  "once_cell",
2183
- "opentelemetry 0.17.0",
2151
+ "opentelemetry 0.18.0",
2184
2152
  "parking_lot 0.12.0",
2185
- "prost-types 0.11.1",
2153
+ "prost-types",
2186
2154
  "temporal-sdk-core-protos",
2187
2155
  "thiserror",
2188
2156
  "tokio",
2189
- "tonic 0.8.1",
2157
+ "tonic",
2190
2158
  "tower",
2191
2159
  "tracing",
2192
2160
  "url",
@@ -2203,7 +2171,7 @@ dependencies = [
2203
2171
  "async-trait",
2204
2172
  "base64",
2205
2173
  "crossbeam",
2206
- "dashmap 5.2.0",
2174
+ "dashmap",
2207
2175
  "derive_builder",
2208
2176
  "derive_more",
2209
2177
  "enum_dispatch",
@@ -2220,13 +2188,13 @@ dependencies = [
2220
2188
  "mockall",
2221
2189
  "nix",
2222
2190
  "once_cell",
2223
- "opentelemetry 0.17.0",
2191
+ "opentelemetry 0.18.0",
2224
2192
  "opentelemetry-otlp",
2225
2193
  "opentelemetry-prometheus",
2226
2194
  "parking_lot 0.12.0",
2227
2195
  "prometheus",
2228
- "prost 0.11.0",
2229
- "prost-types 0.11.1",
2196
+ "prost",
2197
+ "prost-types",
2230
2198
  "rand",
2231
2199
  "reqwest",
2232
2200
  "ringbuf",
@@ -2242,10 +2210,9 @@ dependencies = [
2242
2210
  "thiserror",
2243
2211
  "tokio",
2244
2212
  "tokio-stream",
2245
- "tokio-util 0.7.1",
2246
- "tonic 0.6.2",
2247
- "tonic 0.8.1",
2248
- "tonic-build 0.8.0",
2213
+ "tokio-util",
2214
+ "tonic",
2215
+ "tonic-build",
2249
2216
  "tracing",
2250
2217
  "tracing-futures",
2251
2218
  "tracing-opentelemetry",
@@ -2263,12 +2230,12 @@ dependencies = [
2263
2230
  "async-trait",
2264
2231
  "derive_builder",
2265
2232
  "log",
2266
- "opentelemetry 0.17.0",
2267
- "prost-types 0.11.1",
2233
+ "opentelemetry 0.18.0",
2234
+ "prost-types",
2268
2235
  "temporal-client",
2269
2236
  "temporal-sdk-core-protos",
2270
2237
  "thiserror",
2271
- "tonic 0.8.1",
2238
+ "tonic",
2272
2239
  ]
2273
2240
 
2274
2241
  [[package]]
@@ -2278,14 +2245,14 @@ dependencies = [
2278
2245
  "anyhow",
2279
2246
  "base64",
2280
2247
  "derive_more",
2281
- "prost 0.11.0",
2282
- "prost-types 0.11.1",
2248
+ "prost",
2249
+ "prost-types",
2283
2250
  "rand",
2284
2251
  "serde",
2285
2252
  "serde_json",
2286
2253
  "thiserror",
2287
- "tonic 0.8.1",
2288
- "tonic-build 0.8.0",
2254
+ "tonic",
2255
+ "tonic-build",
2289
2256
  "uuid",
2290
2257
  ]
2291
2258
 
@@ -2299,8 +2266,8 @@ dependencies = [
2299
2266
  "once_cell",
2300
2267
  "opentelemetry 0.16.0",
2301
2268
  "parking_lot 0.12.0",
2302
- "prost 0.11.0",
2303
- "prost-types 0.11.1",
2269
+ "prost",
2270
+ "prost-types",
2304
2271
  "temporal-client",
2305
2272
  "temporal-sdk-core",
2306
2273
  "tokio",
@@ -2438,20 +2405,6 @@ dependencies = [
2438
2405
  "tokio",
2439
2406
  ]
2440
2407
 
2441
- [[package]]
2442
- name = "tokio-util"
2443
- version = "0.6.9"
2444
- source = "registry+https://github.com/rust-lang/crates.io-index"
2445
- checksum = "9e99e1983e5d376cd8eb4b66604d2e99e79f5bd988c3055891dcd8c9e2604cc0"
2446
- dependencies = [
2447
- "bytes",
2448
- "futures-core",
2449
- "futures-sink",
2450
- "log",
2451
- "pin-project-lite",
2452
- "tokio",
2453
- ]
2454
-
2455
2408
  [[package]]
2456
2409
  name = "tokio-util"
2457
2410
  version = "0.7.1"
@@ -2466,37 +2419,6 @@ dependencies = [
2466
2419
  "tracing",
2467
2420
  ]
2468
2421
 
2469
- [[package]]
2470
- name = "tonic"
2471
- version = "0.6.2"
2472
- source = "registry+https://github.com/rust-lang/crates.io-index"
2473
- checksum = "ff08f4649d10a70ffa3522ca559031285d8e421d727ac85c60825761818f5d0a"
2474
- dependencies = [
2475
- "async-stream",
2476
- "async-trait",
2477
- "base64",
2478
- "bytes",
2479
- "futures-core",
2480
- "futures-util",
2481
- "h2",
2482
- "http",
2483
- "http-body",
2484
- "hyper",
2485
- "hyper-timeout",
2486
- "percent-encoding",
2487
- "pin-project",
2488
- "prost 0.9.0",
2489
- "prost-derive 0.9.0",
2490
- "tokio",
2491
- "tokio-stream",
2492
- "tokio-util 0.6.9",
2493
- "tower",
2494
- "tower-layer",
2495
- "tower-service",
2496
- "tracing",
2497
- "tracing-futures",
2498
- ]
2499
-
2500
2422
  [[package]]
2501
2423
  name = "tonic"
2502
2424
  version = "0.8.1"
@@ -2517,14 +2439,14 @@ dependencies = [
2517
2439
  "hyper-timeout",
2518
2440
  "percent-encoding",
2519
2441
  "pin-project",
2520
- "prost 0.11.0",
2521
- "prost-derive 0.11.0",
2442
+ "prost",
2443
+ "prost-derive",
2522
2444
  "rustls-native-certs",
2523
2445
  "rustls-pemfile",
2524
2446
  "tokio",
2525
2447
  "tokio-rustls",
2526
2448
  "tokio-stream",
2527
- "tokio-util 0.7.1",
2449
+ "tokio-util",
2528
2450
  "tower",
2529
2451
  "tower-layer",
2530
2452
  "tower-service",
@@ -2532,18 +2454,6 @@ dependencies = [
2532
2454
  "tracing-futures",
2533
2455
  ]
2534
2456
 
2535
- [[package]]
2536
- name = "tonic-build"
2537
- version = "0.6.2"
2538
- source = "registry+https://github.com/rust-lang/crates.io-index"
2539
- checksum = "9403f1bafde247186684b230dc6f38b5cd514584e8bec1dd32514be4745fa757"
2540
- dependencies = [
2541
- "proc-macro2",
2542
- "prost-build 0.9.0",
2543
- "quote",
2544
- "syn",
2545
- ]
2546
-
2547
2457
  [[package]]
2548
2458
  name = "tonic-build"
2549
2459
  version = "0.8.0"
@@ -2552,7 +2462,7 @@ checksum = "2fbcd2800e34e743b9ae795867d5f77b535d3a3be69fd731e39145719752df8c"
2552
2462
  dependencies = [
2553
2463
  "prettyplease",
2554
2464
  "proc-macro2",
2555
- "prost-build 0.11.1",
2465
+ "prost-build",
2556
2466
  "quote",
2557
2467
  "syn",
2558
2468
  ]
@@ -2571,7 +2481,7 @@ dependencies = [
2571
2481
  "rand",
2572
2482
  "slab",
2573
2483
  "tokio",
2574
- "tokio-util 0.7.1",
2484
+ "tokio-util",
2575
2485
  "tower-layer",
2576
2486
  "tower-service",
2577
2487
  "tracing",
@@ -2610,9 +2520,9 @@ checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6"
2610
2520
 
2611
2521
  [[package]]
2612
2522
  name = "tracing"
2613
- version = "0.1.34"
2523
+ version = "0.1.36"
2614
2524
  source = "registry+https://github.com/rust-lang/crates.io-index"
2615
- checksum = "5d0ecdcb44a79f0fe9844f0c4f33a342cbcbb5117de8001e6ba0dc2351327d09"
2525
+ checksum = "2fce9567bd60a67d08a16488756721ba392f24f29006402881e43b19aac64307"
2616
2526
  dependencies = [
2617
2527
  "cfg-if",
2618
2528
  "log",
@@ -2623,9 +2533,9 @@ dependencies = [
2623
2533
 
2624
2534
  [[package]]
2625
2535
  name = "tracing-attributes"
2626
- version = "0.1.20"
2536
+ version = "0.1.22"
2627
2537
  source = "registry+https://github.com/rust-lang/crates.io-index"
2628
- checksum = "2e65ce065b4b5c53e73bb28912318cb8c9e9ad3921f1d669eb0e68b4c8143a2b"
2538
+ checksum = "11c75893af559bc8e10716548bdef5cb2b983f8e637db9d0e15126b61b484ee2"
2629
2539
  dependencies = [
2630
2540
  "proc-macro2",
2631
2541
  "quote",
@@ -2634,11 +2544,11 @@ dependencies = [
2634
2544
 
2635
2545
  [[package]]
2636
2546
  name = "tracing-core"
2637
- version = "0.1.26"
2547
+ version = "0.1.29"
2638
2548
  source = "registry+https://github.com/rust-lang/crates.io-index"
2639
- checksum = "f54c8ca710e81886d498c2fd3331b56c93aa248d49de2222ad2742247c60072f"
2549
+ checksum = "5aeea4303076558a00714b823f9ad67d58a3bbda1df83d8827d21193156e22f7"
2640
2550
  dependencies = [
2641
- "lazy_static",
2551
+ "once_cell",
2642
2552
  "valuable",
2643
2553
  ]
2644
2554
 
@@ -2654,9 +2564,9 @@ dependencies = [
2654
2564
 
2655
2565
  [[package]]
2656
2566
  name = "tracing-log"
2657
- version = "0.1.2"
2567
+ version = "0.1.3"
2658
2568
  source = "registry+https://github.com/rust-lang/crates.io-index"
2659
- checksum = "a6923477a48e41c1951f1999ef8bb5a3023eb723ceadafe78ffb65dc366761e3"
2569
+ checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922"
2660
2570
  dependencies = [
2661
2571
  "lazy_static",
2662
2572
  "log",
@@ -2665,11 +2575,12 @@ dependencies = [
2665
2575
 
2666
2576
  [[package]]
2667
2577
  name = "tracing-opentelemetry"
2668
- version = "0.17.2"
2578
+ version = "0.18.0"
2669
2579
  source = "registry+https://github.com/rust-lang/crates.io-index"
2670
- checksum = "1f9378e96a9361190ae297e7f3a8ff644aacd2897f244b1ff81f381669196fa6"
2580
+ checksum = "21ebb87a95ea13271332df069020513ab70bdb5637ca42d6e492dc3bbbad48de"
2671
2581
  dependencies = [
2672
- "opentelemetry 0.17.0",
2582
+ "once_cell",
2583
+ "opentelemetry 0.18.0",
2673
2584
  "tracing",
2674
2585
  "tracing-core",
2675
2586
  "tracing-log",
@@ -2722,12 +2633,6 @@ dependencies = [
2722
2633
  "tinyvec",
2723
2634
  ]
2724
2635
 
2725
- [[package]]
2726
- name = "unicode-segmentation"
2727
- version = "1.9.0"
2728
- source = "registry+https://github.com/rust-lang/crates.io-index"
2729
- checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99"
2730
-
2731
2636
  [[package]]
2732
2637
  name = "unicode-xid"
2733
2638
  version = "0.2.2"
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { SpanContext } from '@opentelemetry/api';
2
- import { TLSConfig } from '@temporalio/internal-non-workflow-common';
2
+ import { TLSConfig } from '@temporalio/common/lib/internal-non-workflow';
3
3
 
4
4
  export { TLSConfig };
5
5
 
@@ -110,8 +110,14 @@ export interface PrometheusMetricsExporter {
110
110
 
111
111
  /**
112
112
  * Metrics exporters supported by Core
113
+ *
114
+ * `temporality` is the type of aggregation temporality for metric export. Applies to both Prometheus and OpenTelemetry exporters.
115
+ *
116
+ * See the [OpenTelemetry specification](https://github.com/open-telemetry/opentelemetry-specification/blob/ce50e4634efcba8da445cc23523243cb893905cb/specification/metrics/datamodel.md#temporality) for more information.
113
117
  */
114
- export type MetricsExporter = PrometheusMetricsExporter | OtelCollectorExporter;
118
+ export type MetricsExporter = {
119
+ temporality?: 'cumulative' | 'delta';
120
+ } & (PrometheusMetricsExporter | OtelCollectorExporter);
115
121
 
116
122
  /**
117
123
  * Trace exporters supported by Core
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@temporalio/core-bridge",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "description": "Temporal.io SDK Core<>Node bridge",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -20,7 +20,6 @@
20
20
  "license": "MIT",
21
21
  "dependencies": {
22
22
  "@opentelemetry/api": "^1.1.0",
23
- "@temporalio/internal-non-workflow-common": "^1.3.0",
24
23
  "arg": "^5.0.2",
25
24
  "cargo-cp-artifact": "^0.1.6",
26
25
  "which": "^2.0.2"
@@ -43,5 +42,5 @@
43
42
  "publishConfig": {
44
43
  "access": "public"
45
44
  },
46
- "gitHead": "966d51d3545a5e84102190f5b762160b9dfe99c2"
45
+ "gitHead": "4b757ebbc052f327cc37e5693f46c8127c156b0c"
47
46
  }
@@ -46,6 +46,8 @@ steps:
46
46
  agents:
47
47
  queue: "default"
48
48
  docker: "*"
49
+ env:
50
+ INTEG_SERVER_TYPE: docker
49
51
  command: "cargo test --test integ_tests"
50
52
  timeout_in_minutes: 15
51
53
  plugins:
@@ -1,3 +1,3 @@
1
1
  [alias]
2
- integ-test = ["test", "--test", "integ_tests"]
2
+ integ-test = ["run", "--package", "temporal-sdk-core", "--example", "integ_runner"]
3
3
  lint = ["clippy", "--all", "--test", "integ_tests", "--test", "load_tests"]
@@ -99,7 +99,7 @@ pub extern "C" fn tmprl_bytes_free(worker: *mut tmprl_worker_t, bytes: *const tm
99
99
  worker.return_buf(vec);
100
100
  }
101
101
  unsafe {
102
- Box::from_raw(bytes);
102
+ let _ = Box::from_raw(bytes);
103
103
  }
104
104
  }
105
105
 
@@ -174,7 +174,7 @@ pub extern "C" fn tmprl_runtime_new() -> *mut tmprl_runtime_t {
174
174
  pub extern "C" fn tmprl_runtime_free(runtime: *mut tmprl_runtime_t) {
175
175
  if !runtime.is_null() {
176
176
  unsafe {
177
- Box::from_raw(runtime);
177
+ let _ = Box::from_raw(runtime);
178
178
  }
179
179
  }
180
180
  }