spikard 0.12.0 → 0.13.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.
- checksums.yaml +4 -4
- data/README.md +64 -46
- data/ext/spikard_rb/Cargo.lock +106 -55
- data/ext/spikard_rb/Cargo.toml +1 -1
- data/lib/spikard/app.rb +42 -12
- data/lib/spikard/config.rb +1 -1
- data/lib/spikard/grpc.rb +56 -6
- data/lib/spikard/provide.rb +112 -11
- data/lib/spikard/response.rb +25 -0
- data/lib/spikard/testing.rb +43 -1
- data/lib/spikard/version.rb +1 -1
- data/lib/spikard.rb +7 -0
- data/sig/spikard.rbs +22 -2
- data/vendor/crates/spikard-bindings-shared/Cargo.toml +5 -10
- data/vendor/crates/spikard-core/Cargo.toml +5 -10
- data/vendor/crates/spikard-core/src/di/container.rs +19 -10
- data/vendor/crates/spikard-core/src/di/factory.rs +39 -29
- data/vendor/crates/spikard-core/src/di/mod.rs +3 -3
- data/vendor/crates/spikard-core/src/router.rs +1 -1
- data/vendor/crates/spikard-http/Cargo.toml +7 -12
- data/vendor/crates/spikard-http/src/background.rs +0 -1
- data/vendor/crates/spikard-http/src/grpc/framing.rs +215 -31
- data/vendor/crates/spikard-http/src/grpc/handler.rs +114 -25
- data/vendor/crates/spikard-http/src/grpc/mod.rs +167 -45
- data/vendor/crates/spikard-http/src/grpc/service.rs +132 -48
- data/vendor/crates/spikard-http/src/jsonrpc/mod.rs +2 -0
- data/vendor/crates/spikard-http/src/jsonrpc/openrpc.rs +325 -0
- data/vendor/crates/spikard-http/src/lib.rs +21 -3
- data/vendor/crates/spikard-http/src/middleware/multipart.rs +1 -1
- data/vendor/crates/spikard-http/src/server/grpc_routing.rs +424 -39
- data/vendor/crates/spikard-http/src/server/mod.rs +120 -52
- data/vendor/crates/spikard-http/src/testing/test_client.rs +95 -57
- data/vendor/crates/spikard-http/tests/grpc_integration_test.rs +10 -10
- data/vendor/crates/spikard-http/tests/grpc_server_streaming.rs +54 -53
- data/vendor/crates/spikard-http/tests/server_config_builder.rs +21 -0
- data/vendor/crates/spikard-http/tests/server_configured_router_behavior.rs +175 -1
- data/vendor/crates/spikard-http/tests/server_openapi_jsonrpc_static.rs +6 -0
- data/vendor/crates/spikard-rb/Cargo.toml +4 -9
- data/vendor/crates/spikard-rb/src/di/mod.rs +57 -22
- data/vendor/crates/spikard-rb/src/grpc/handler.rs +43 -2
- data/vendor/crates/spikard-rb/src/lib.rs +5 -1
- data/vendor/crates/spikard-rb/src/lifecycle.rs +34 -3
- data/vendor/crates/spikard-rb/src/runtime/server_runner.rs +37 -13
- data/vendor/crates/spikard-rb/src/server.rs +8 -11
- data/vendor/crates/spikard-rb/src/websocket.rs +47 -1
- data/vendor/crates/spikard-rb-macros/Cargo.toml +3 -8
- metadata +2 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 19a8c424b2a28b7b7a5419ad4354f6ea8a35eb5a10f11384c5b833b3fd8080d3
|
|
4
|
+
data.tar.gz: 9073abf09c3edc934f134e48c5f132b1dc52b445d296d07ccb2690ca087c4ab9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9998c67c34244330096ba18251d755d75a86f202242e088ace812457c3d78b26f41396df829ddeab150f89863395f47b8073787d93af653d9cabf41ef4b4f8b0
|
|
7
|
+
data.tar.gz: 3db6b8e27e3b28dac4b9ff752a70965b3f8dbdd24c7fa33dd4707b560668f4ac07e05fb1aae342d72e1cd13e3a81628a94355424856a6ad0354b74f11b98c34c
|
data/README.md
CHANGED
|
@@ -1,18 +1,37 @@
|
|
|
1
|
+
<!-- GENERATED FILE — DO NOT EDIT DIRECTLY. Run: task readme:generate -->
|
|
2
|
+
|
|
1
3
|
# Spikard Ruby
|
|
2
4
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
<div align="center" style="display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 20px 0;">
|
|
6
|
+
<a href="https://spikard.dev">
|
|
7
|
+
<img src="https://img.shields.io/badge/docs-spikard.dev-007ec6" alt="Documentation">
|
|
8
|
+
</a>
|
|
9
|
+
<a href="https://crates.io/crates/spikard">
|
|
10
|
+
<img src="https://img.shields.io/crates/v/spikard.svg?color=007ec6" alt="Crates.io">
|
|
11
|
+
</a>
|
|
12
|
+
<a href="https://pypi.org/project/spikard/">
|
|
13
|
+
<img src="https://img.shields.io/pypi/v/spikard.svg?color=007ec6" alt="PyPI">
|
|
14
|
+
</a>
|
|
15
|
+
<a href="https://www.npmjs.com/package/@spikard/node">
|
|
16
|
+
<img src="https://img.shields.io/npm/v/@spikard/node.svg?color=007ec6" alt="npm">
|
|
17
|
+
</a>
|
|
18
|
+
<a href="https://rubygems.org/gems/spikard">
|
|
19
|
+
<img src="https://img.shields.io/gem/v/spikard.svg?color=007ec6" alt="RubyGems">
|
|
20
|
+
</a>
|
|
21
|
+
<a href="https://packagist.org/packages/spikard/spikard">
|
|
22
|
+
<img src="https://img.shields.io/packagist/v/spikard/spikard.svg?color=007ec6" alt="Packagist">
|
|
23
|
+
</a>
|
|
24
|
+
<a href="https://hex.pm/packages/spikard">
|
|
25
|
+
<img src="https://img.shields.io/hexpm/v/spikard.svg?color=007ec6" alt="Hex.pm">
|
|
26
|
+
</a>
|
|
27
|
+
<a href="https://github.com/Goldziher/spikard/blob/main/LICENSE">
|
|
28
|
+
<img src="https://img.shields.io/badge/license-MIT-007ec6" alt="License">
|
|
29
|
+
</a>
|
|
30
|
+
</div>
|
|
11
31
|
|
|
12
32
|
Ruby bindings for Spikard: a Rust-centric web framework with type-safe code generation from OpenAPI, GraphQL, AsyncAPI, and OpenRPC specifications. Leverage Sinatra-style routing with zero-copy FFI performance.
|
|
13
33
|
|
|
14
34
|
## Key Features
|
|
15
|
-
|
|
16
35
|
- **Type-safe with RBS**: Full RBS type definitions for Steep type checking
|
|
17
36
|
- **Zero-copy FFI**: Magnus/rb-sys bindings eliminate serialization overhead
|
|
18
37
|
- **Sinatra-style routing**: Familiar `get`, `post`, `put`, `patch`, `delete` DSL
|
|
@@ -33,11 +52,10 @@ gem install spikard
|
|
|
33
52
|
**From source:**
|
|
34
53
|
|
|
35
54
|
```bash
|
|
36
|
-
bundle install
|
|
37
|
-
bundle exec rake ext:build
|
|
55
|
+
bundle install && bundle exec rake ext:build
|
|
38
56
|
```
|
|
39
57
|
|
|
40
|
-
**Requirements:** Ruby 3.2-4.x, Bundler, and Rust toolchain (for building from source)
|
|
58
|
+
**Requirements:** Ruby 3.2-4.x, Bundler, and Rust toolchain (for building from source)
|
|
41
59
|
|
|
42
60
|
## Quick Start
|
|
43
61
|
|
|
@@ -59,7 +77,7 @@ app.post "/users" do |request|
|
|
|
59
77
|
{ id: 1, name: request[:body]["name"] }
|
|
60
78
|
end
|
|
61
79
|
|
|
62
|
-
app.run(port: 8000)
|
|
80
|
+
app.run(config: { port: 8000 })
|
|
63
81
|
```
|
|
64
82
|
|
|
65
83
|
The `request` hash provides access to:
|
|
@@ -70,7 +88,6 @@ The `request` hash provides access to:
|
|
|
70
88
|
- `request[:headers]` - Request headers
|
|
71
89
|
- `request[:cookies]` - Request cookies
|
|
72
90
|
- `request[:body]` - Parsed request body
|
|
73
|
-
|
|
74
91
|
## Validation
|
|
75
92
|
|
|
76
93
|
Pass a `request_schema` to validate incoming JSON:
|
|
@@ -204,6 +221,26 @@ app.post "/process" do
|
|
|
204
221
|
end
|
|
205
222
|
```
|
|
206
223
|
|
|
224
|
+
## Type Safety with RBS & Steep
|
|
225
|
+
|
|
226
|
+
Full RBS type definitions are included in `sig/spikard.rbs`. Use Steep for type checking:
|
|
227
|
+
|
|
228
|
+
```bash
|
|
229
|
+
bundle exec steep check
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
## Performance
|
|
233
|
+
|
|
234
|
+
Benchmarked across 34 workloads at 100 concurrency ([methodology](../../docs/benchmarks/methodology.md)):
|
|
235
|
+
|
|
236
|
+
| Framework | Avg RPS | P50 (ms) | P99 (ms) |
|
|
237
|
+
|-----------|--------:|----------:|----------:|
|
|
238
|
+
| **spikard** | 7,151 | 14.62 | 18.98 |
|
|
239
|
+
| roda | 5,038 | 26.89 | 35.61 |
|
|
240
|
+
| hanami-api | 5,032 | 76.1 | 414.35 |
|
|
241
|
+
|
|
242
|
+
Spikard is **1.4x faster than Roda with significantly lower tail latency**.
|
|
243
|
+
|
|
207
244
|
## Testing
|
|
208
245
|
|
|
209
246
|
Use the TestClient for integration tests:
|
|
@@ -224,43 +261,24 @@ sse = client.sse("/events")
|
|
|
224
261
|
client.close
|
|
225
262
|
```
|
|
226
263
|
|
|
227
|
-
##
|
|
228
|
-
|
|
229
|
-
Full RBS type definitions are included in `sig/spikard.rbs`. Use Steep for type checking:
|
|
230
|
-
|
|
231
|
-
```bash
|
|
232
|
-
bundle exec steep check
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
## Performance
|
|
264
|
+
## Examples
|
|
236
265
|
|
|
237
|
-
|
|
266
|
+
**Examples & Code Generation:**
|
|
267
|
+
- [Runnable Examples](../../examples/) - Ruby, Python, TypeScript, PHP, Elixir, and Rust
|
|
268
|
+
- [Code Generation Guide](../../examples/README.md) - Generate from OpenAPI, GraphQL, AsyncAPI, OpenRPC, Protobuf
|
|
238
269
|
|
|
239
|
-
|
|
240
|
-
|-----------|--------:|----------:|----------:|
|
|
241
|
-
| **spikard** | 7,151 | 14.62 | 18.98 |
|
|
242
|
-
| roda | 5,038 | 26.89 | 35.61 |
|
|
243
|
-
| hanami-api | 5,032 | 76.10 | 414.35 |
|
|
270
|
+
## Documentation
|
|
244
271
|
|
|
245
|
-
|
|
272
|
+
Full documentation at [spikard.dev](https://spikard.dev). See also [CONTRIBUTING.md](../../CONTRIBUTING.md).
|
|
246
273
|
|
|
247
|
-
##
|
|
274
|
+
## Other Languages
|
|
248
275
|
|
|
249
|
-
**
|
|
250
|
-
- [
|
|
251
|
-
- [
|
|
252
|
-
|
|
253
|
-
**
|
|
254
|
-
-
|
|
255
|
-
- [Type Definitions (RBS)](sig/spikard.rbs) - Full Steep type signatures
|
|
256
|
-
- [CONTRIBUTING.md](../../CONTRIBUTING.md) - Development workflow
|
|
257
|
-
|
|
258
|
-
**Other Languages:**
|
|
259
|
-
- [Python (PyPI)](https://pypi.org/project/spikard/)
|
|
260
|
-
- [TypeScript (npm)](https://www.npmjs.com/package/@spikard/node)
|
|
261
|
-
- [PHP (Packagist)](https://packagist.org/packages/spikard/spikard)
|
|
262
|
-
- [Elixir (Hex.pm)](https://hex.pm/packages/spikard)
|
|
263
|
-
- [Rust (Crates.io)](https://crates.io/crates/spikard)
|
|
276
|
+
- **Rust:** [Crates.io](https://crates.io/crates/spikard)
|
|
277
|
+
- **Python:** [PyPI](https://pypi.org/project/spikard/)
|
|
278
|
+
- **TypeScript:** [npm (@spikard/node)](https://www.npmjs.com/package/@spikard/node)
|
|
279
|
+
- **Ruby:** [RubyGems](https://rubygems.org/gems/spikard)
|
|
280
|
+
- **PHP:** [Packagist](https://packagist.org/packages/spikard/spikard)
|
|
281
|
+
- **Elixir:** [Hex.pm](https://hex.pm/packages/spikard)
|
|
264
282
|
|
|
265
283
|
## License
|
|
266
284
|
|
data/ext/spikard_rb/Cargo.lock
CHANGED
|
@@ -63,9 +63,9 @@ dependencies = [
|
|
|
63
63
|
|
|
64
64
|
[[package]]
|
|
65
65
|
name = "anyhow"
|
|
66
|
-
version = "1.0.
|
|
66
|
+
version = "1.0.102"
|
|
67
67
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
68
|
-
checksum = "
|
|
68
|
+
checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c"
|
|
69
69
|
|
|
70
70
|
[[package]]
|
|
71
71
|
name = "arbitrary"
|
|
@@ -191,9 +191,9 @@ dependencies = [
|
|
|
191
191
|
|
|
192
192
|
[[package]]
|
|
193
193
|
name = "axum-test"
|
|
194
|
-
version = "
|
|
194
|
+
version = "19.1.1"
|
|
195
195
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
196
|
-
checksum = "
|
|
196
|
+
checksum = "6a28640adad0e99978d38bc455b323c62a5cddc4e22f83eacde93f8c395ae7e3"
|
|
197
197
|
dependencies = [
|
|
198
198
|
"anyhow",
|
|
199
199
|
"axum",
|
|
@@ -214,7 +214,6 @@ dependencies = [
|
|
|
214
214
|
"serde",
|
|
215
215
|
"serde_json",
|
|
216
216
|
"serde_urlencoded",
|
|
217
|
-
"smallvec",
|
|
218
217
|
"tokio",
|
|
219
218
|
"tokio-tungstenite",
|
|
220
219
|
"tower",
|
|
@@ -366,11 +365,22 @@ version = "1.0.4"
|
|
|
366
365
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
367
366
|
checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
|
|
368
367
|
|
|
368
|
+
[[package]]
|
|
369
|
+
name = "chacha20"
|
|
370
|
+
version = "0.10.0"
|
|
371
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
372
|
+
checksum = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601"
|
|
373
|
+
dependencies = [
|
|
374
|
+
"cfg-if",
|
|
375
|
+
"cpufeatures 0.3.0",
|
|
376
|
+
"rand_core 0.10.0",
|
|
377
|
+
]
|
|
378
|
+
|
|
369
379
|
[[package]]
|
|
370
380
|
name = "chrono"
|
|
371
|
-
version = "0.4.
|
|
381
|
+
version = "0.4.44"
|
|
372
382
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
373
|
-
checksum = "
|
|
383
|
+
checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0"
|
|
374
384
|
dependencies = [
|
|
375
385
|
"iana-time-zone",
|
|
376
386
|
"js-sys",
|
|
@@ -439,6 +449,15 @@ dependencies = [
|
|
|
439
449
|
"libc",
|
|
440
450
|
]
|
|
441
451
|
|
|
452
|
+
[[package]]
|
|
453
|
+
name = "cpufeatures"
|
|
454
|
+
version = "0.3.0"
|
|
455
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
456
|
+
checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201"
|
|
457
|
+
dependencies = [
|
|
458
|
+
"libc",
|
|
459
|
+
]
|
|
460
|
+
|
|
442
461
|
[[package]]
|
|
443
462
|
name = "crc32fast"
|
|
444
463
|
version = "1.5.0"
|
|
@@ -483,7 +502,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
483
502
|
checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be"
|
|
484
503
|
dependencies = [
|
|
485
504
|
"cfg-if",
|
|
486
|
-
"cpufeatures",
|
|
505
|
+
"cpufeatures 0.2.17",
|
|
487
506
|
"curve25519-dalek-derive",
|
|
488
507
|
"digest",
|
|
489
508
|
"fiat-crypto",
|
|
@@ -695,9 +714,9 @@ dependencies = [
|
|
|
695
714
|
|
|
696
715
|
[[package]]
|
|
697
716
|
name = "expect-json"
|
|
698
|
-
version = "1.
|
|
717
|
+
version = "1.10.1"
|
|
699
718
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
700
|
-
checksum = "
|
|
719
|
+
checksum = "869f97f4abe8e78fc812a94ad6b721d72c4fb5532877c79610f2c238d7ccf6c4"
|
|
701
720
|
dependencies = [
|
|
702
721
|
"chrono",
|
|
703
722
|
"email_address",
|
|
@@ -713,9 +732,9 @@ dependencies = [
|
|
|
713
732
|
|
|
714
733
|
[[package]]
|
|
715
734
|
name = "expect-json-macros"
|
|
716
|
-
version = "1.
|
|
735
|
+
version = "1.10.1"
|
|
717
736
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
718
|
-
checksum = "
|
|
737
|
+
checksum = "6e6fdf550180a6c29a28cb9aac262dc0064c25735641d2317f670075e9a469d9"
|
|
719
738
|
dependencies = [
|
|
720
739
|
"proc-macro2",
|
|
721
740
|
"quote",
|
|
@@ -850,9 +869,9 @@ dependencies = [
|
|
|
850
869
|
|
|
851
870
|
[[package]]
|
|
852
871
|
name = "futures-channel"
|
|
853
|
-
version = "0.3.
|
|
872
|
+
version = "0.3.32"
|
|
854
873
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
855
|
-
checksum = "
|
|
874
|
+
checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d"
|
|
856
875
|
dependencies = [
|
|
857
876
|
"futures-core",
|
|
858
877
|
"futures-sink",
|
|
@@ -860,9 +879,9 @@ dependencies = [
|
|
|
860
879
|
|
|
861
880
|
[[package]]
|
|
862
881
|
name = "futures-core"
|
|
863
|
-
version = "0.3.
|
|
882
|
+
version = "0.3.32"
|
|
864
883
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
865
|
-
checksum = "
|
|
884
|
+
checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d"
|
|
866
885
|
|
|
867
886
|
[[package]]
|
|
868
887
|
name = "futures-executor"
|
|
@@ -877,15 +896,15 @@ dependencies = [
|
|
|
877
896
|
|
|
878
897
|
[[package]]
|
|
879
898
|
name = "futures-io"
|
|
880
|
-
version = "0.3.
|
|
899
|
+
version = "0.3.32"
|
|
881
900
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
882
|
-
checksum = "
|
|
901
|
+
checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718"
|
|
883
902
|
|
|
884
903
|
[[package]]
|
|
885
904
|
name = "futures-macro"
|
|
886
|
-
version = "0.3.
|
|
905
|
+
version = "0.3.32"
|
|
887
906
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
888
|
-
checksum = "
|
|
907
|
+
checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b"
|
|
889
908
|
dependencies = [
|
|
890
909
|
"proc-macro2",
|
|
891
910
|
"quote",
|
|
@@ -894,15 +913,15 @@ dependencies = [
|
|
|
894
913
|
|
|
895
914
|
[[package]]
|
|
896
915
|
name = "futures-sink"
|
|
897
|
-
version = "0.3.
|
|
916
|
+
version = "0.3.32"
|
|
898
917
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
899
|
-
checksum = "
|
|
918
|
+
checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893"
|
|
900
919
|
|
|
901
920
|
[[package]]
|
|
902
921
|
name = "futures-task"
|
|
903
|
-
version = "0.3.
|
|
922
|
+
version = "0.3.32"
|
|
904
923
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
905
|
-
checksum = "
|
|
924
|
+
checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393"
|
|
906
925
|
|
|
907
926
|
[[package]]
|
|
908
927
|
name = "futures-timer"
|
|
@@ -912,9 +931,9 @@ checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24"
|
|
|
912
931
|
|
|
913
932
|
[[package]]
|
|
914
933
|
name = "futures-util"
|
|
915
|
-
version = "0.3.
|
|
934
|
+
version = "0.3.32"
|
|
916
935
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
917
|
-
checksum = "
|
|
936
|
+
checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6"
|
|
918
937
|
dependencies = [
|
|
919
938
|
"futures-channel",
|
|
920
939
|
"futures-core",
|
|
@@ -924,7 +943,6 @@ dependencies = [
|
|
|
924
943
|
"futures-task",
|
|
925
944
|
"memchr",
|
|
926
945
|
"pin-project-lite",
|
|
927
|
-
"pin-utils",
|
|
928
946
|
"slab",
|
|
929
947
|
]
|
|
930
948
|
|
|
@@ -973,6 +991,7 @@ dependencies = [
|
|
|
973
991
|
"cfg-if",
|
|
974
992
|
"libc",
|
|
975
993
|
"r-efi",
|
|
994
|
+
"rand_core 0.10.0",
|
|
976
995
|
"wasip2",
|
|
977
996
|
"wasip3",
|
|
978
997
|
]
|
|
@@ -1433,9 +1452,9 @@ dependencies = [
|
|
|
1433
1452
|
|
|
1434
1453
|
[[package]]
|
|
1435
1454
|
name = "jsonschema"
|
|
1436
|
-
version = "0.
|
|
1455
|
+
version = "0.45.0"
|
|
1437
1456
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1438
|
-
checksum = "
|
|
1457
|
+
checksum = "6f29616f6e19415398eb186964fb7cbbeef572c79bede3622a8277667924bbe3"
|
|
1439
1458
|
dependencies = [
|
|
1440
1459
|
"ahash",
|
|
1441
1460
|
"bytecount",
|
|
@@ -2069,9 +2088,9 @@ dependencies = [
|
|
|
2069
2088
|
|
|
2070
2089
|
[[package]]
|
|
2071
2090
|
name = "quote"
|
|
2072
|
-
version = "1.0.
|
|
2091
|
+
version = "1.0.45"
|
|
2073
2092
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2074
|
-
checksum = "
|
|
2093
|
+
checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924"
|
|
2075
2094
|
dependencies = [
|
|
2076
2095
|
"proc-macro2",
|
|
2077
2096
|
]
|
|
@@ -2103,6 +2122,17 @@ dependencies = [
|
|
|
2103
2122
|
"rand_core 0.9.5",
|
|
2104
2123
|
]
|
|
2105
2124
|
|
|
2125
|
+
[[package]]
|
|
2126
|
+
name = "rand"
|
|
2127
|
+
version = "0.10.0"
|
|
2128
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2129
|
+
checksum = "bc266eb313df6c5c09c1c7b1fbe2510961e5bcd3add930c1e31f7ed9da0feff8"
|
|
2130
|
+
dependencies = [
|
|
2131
|
+
"chacha20",
|
|
2132
|
+
"getrandom 0.4.1",
|
|
2133
|
+
"rand_core 0.10.0",
|
|
2134
|
+
]
|
|
2135
|
+
|
|
2106
2136
|
[[package]]
|
|
2107
2137
|
name = "rand_chacha"
|
|
2108
2138
|
version = "0.3.1"
|
|
@@ -2141,6 +2171,12 @@ dependencies = [
|
|
|
2141
2171
|
"getrandom 0.3.4",
|
|
2142
2172
|
]
|
|
2143
2173
|
|
|
2174
|
+
[[package]]
|
|
2175
|
+
name = "rand_core"
|
|
2176
|
+
version = "0.10.0"
|
|
2177
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2178
|
+
checksum = "0c8d0fd677905edcbeedbf2edb6494d676f0e98d54d5cf9bda0b061cb8fb8aba"
|
|
2179
|
+
|
|
2144
2180
|
[[package]]
|
|
2145
2181
|
name = "raw-cpuid"
|
|
2146
2182
|
version = "11.6.0"
|
|
@@ -2211,9 +2247,9 @@ dependencies = [
|
|
|
2211
2247
|
|
|
2212
2248
|
[[package]]
|
|
2213
2249
|
name = "referencing"
|
|
2214
|
-
version = "0.
|
|
2250
|
+
version = "0.45.0"
|
|
2215
2251
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2216
|
-
checksum = "
|
|
2252
|
+
checksum = "b8a618c14f8ba29d8193bb55e2bf13e4fb2b1115313ecb7ae94b43100c7ac7d5"
|
|
2217
2253
|
dependencies = [
|
|
2218
2254
|
"ahash",
|
|
2219
2255
|
"fluent-uri",
|
|
@@ -2255,9 +2291,9 @@ checksum = "a96887878f22d7bad8a3b6dc5b7440e0ada9a245242924394987b21cf2210a4c"
|
|
|
2255
2291
|
|
|
2256
2292
|
[[package]]
|
|
2257
2293
|
name = "reserve-port"
|
|
2258
|
-
version = "2.
|
|
2294
|
+
version = "2.4.0"
|
|
2259
2295
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2260
|
-
checksum = "
|
|
2296
|
+
checksum = "94070964579245eb2f76e62a7668fe87bd9969ed6c41256f3bf614e3323dd3cc"
|
|
2261
2297
|
dependencies = [
|
|
2262
2298
|
"thiserror 2.0.18",
|
|
2263
2299
|
]
|
|
@@ -2328,16 +2364,16 @@ dependencies = [
|
|
|
2328
2364
|
|
|
2329
2365
|
[[package]]
|
|
2330
2366
|
name = "rust-multipart-rfc7578_2"
|
|
2331
|
-
version = "0.
|
|
2367
|
+
version = "0.9.0"
|
|
2332
2368
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2333
|
-
checksum = "
|
|
2369
|
+
checksum = "00bdaa068902270ca7fa8619775e1838e23a63620abac0947ce0f715819b8cec"
|
|
2334
2370
|
dependencies = [
|
|
2335
2371
|
"bytes",
|
|
2336
2372
|
"futures-core",
|
|
2337
2373
|
"futures-util",
|
|
2338
2374
|
"http",
|
|
2339
2375
|
"mime",
|
|
2340
|
-
"rand 0.
|
|
2376
|
+
"rand 0.10.0",
|
|
2341
2377
|
"thiserror 2.0.18",
|
|
2342
2378
|
]
|
|
2343
2379
|
|
|
@@ -2500,7 +2536,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
2500
2536
|
checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
|
|
2501
2537
|
dependencies = [
|
|
2502
2538
|
"cfg-if",
|
|
2503
|
-
"cpufeatures",
|
|
2539
|
+
"cpufeatures 0.2.17",
|
|
2504
2540
|
"digest",
|
|
2505
2541
|
]
|
|
2506
2542
|
|
|
@@ -2511,7 +2547,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
2511
2547
|
checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283"
|
|
2512
2548
|
dependencies = [
|
|
2513
2549
|
"cfg-if",
|
|
2514
|
-
"cpufeatures",
|
|
2550
|
+
"cpufeatures 0.2.17",
|
|
2515
2551
|
"digest",
|
|
2516
2552
|
]
|
|
2517
2553
|
|
|
@@ -2618,7 +2654,7 @@ dependencies = [
|
|
|
2618
2654
|
|
|
2619
2655
|
[[package]]
|
|
2620
2656
|
name = "spikard-bindings-shared"
|
|
2621
|
-
version = "0.
|
|
2657
|
+
version = "0.12.0"
|
|
2622
2658
|
dependencies = [
|
|
2623
2659
|
"axum",
|
|
2624
2660
|
"bytes",
|
|
@@ -2637,7 +2673,7 @@ dependencies = [
|
|
|
2637
2673
|
|
|
2638
2674
|
[[package]]
|
|
2639
2675
|
name = "spikard-core"
|
|
2640
|
-
version = "0.
|
|
2676
|
+
version = "0.12.0"
|
|
2641
2677
|
dependencies = [
|
|
2642
2678
|
"anyhow",
|
|
2643
2679
|
"base64",
|
|
@@ -2661,13 +2697,12 @@ dependencies = [
|
|
|
2661
2697
|
|
|
2662
2698
|
[[package]]
|
|
2663
2699
|
name = "spikard-http"
|
|
2664
|
-
version = "0.
|
|
2700
|
+
version = "0.12.0"
|
|
2665
2701
|
dependencies = [
|
|
2666
2702
|
"ahash",
|
|
2667
2703
|
"anyhow",
|
|
2668
2704
|
"axum",
|
|
2669
2705
|
"axum-test",
|
|
2670
|
-
"base64",
|
|
2671
2706
|
"brotli",
|
|
2672
2707
|
"bytes",
|
|
2673
2708
|
"cookie",
|
|
@@ -2710,7 +2745,7 @@ dependencies = [
|
|
|
2710
2745
|
|
|
2711
2746
|
[[package]]
|
|
2712
2747
|
name = "spikard-rb"
|
|
2713
|
-
version = "0.
|
|
2748
|
+
version = "0.12.0"
|
|
2714
2749
|
dependencies = [
|
|
2715
2750
|
"async-stream",
|
|
2716
2751
|
"axum",
|
|
@@ -2735,14 +2770,14 @@ dependencies = [
|
|
|
2735
2770
|
"tokio",
|
|
2736
2771
|
"tonic",
|
|
2737
2772
|
"tracing",
|
|
2738
|
-
"tungstenite",
|
|
2773
|
+
"tungstenite 0.29.0",
|
|
2739
2774
|
"url",
|
|
2740
2775
|
"urlencoding",
|
|
2741
2776
|
]
|
|
2742
2777
|
|
|
2743
2778
|
[[package]]
|
|
2744
2779
|
name = "spikard-rb-ext"
|
|
2745
|
-
version = "0.
|
|
2780
|
+
version = "0.12.0"
|
|
2746
2781
|
dependencies = [
|
|
2747
2782
|
"magnus",
|
|
2748
2783
|
"spikard-rb",
|
|
@@ -2750,7 +2785,7 @@ dependencies = [
|
|
|
2750
2785
|
|
|
2751
2786
|
[[package]]
|
|
2752
2787
|
name = "spikard-rb-macros"
|
|
2753
|
-
version = "0.
|
|
2788
|
+
version = "0.12.0"
|
|
2754
2789
|
dependencies = [
|
|
2755
2790
|
"proc-macro2",
|
|
2756
2791
|
"quote",
|
|
@@ -2796,9 +2831,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
|
|
|
2796
2831
|
|
|
2797
2832
|
[[package]]
|
|
2798
2833
|
name = "syn"
|
|
2799
|
-
version = "2.0.
|
|
2834
|
+
version = "2.0.117"
|
|
2800
2835
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2801
|
-
checksum = "
|
|
2836
|
+
checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"
|
|
2802
2837
|
dependencies = [
|
|
2803
2838
|
"proc-macro2",
|
|
2804
2839
|
"quote",
|
|
@@ -2914,9 +2949,9 @@ dependencies = [
|
|
|
2914
2949
|
|
|
2915
2950
|
[[package]]
|
|
2916
2951
|
name = "tokio"
|
|
2917
|
-
version = "1.
|
|
2952
|
+
version = "1.50.0"
|
|
2918
2953
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2919
|
-
checksum = "
|
|
2954
|
+
checksum = "27ad5e34374e03cfffefc301becb44e9dc3c17584f414349ebe29ed26661822d"
|
|
2920
2955
|
dependencies = [
|
|
2921
2956
|
"bytes",
|
|
2922
2957
|
"libc",
|
|
@@ -2960,7 +2995,7 @@ dependencies = [
|
|
|
2960
2995
|
"futures-util",
|
|
2961
2996
|
"log",
|
|
2962
2997
|
"tokio",
|
|
2963
|
-
"tungstenite",
|
|
2998
|
+
"tungstenite 0.28.0",
|
|
2964
2999
|
]
|
|
2965
3000
|
|
|
2966
3001
|
[[package]]
|
|
@@ -3167,6 +3202,22 @@ dependencies = [
|
|
|
3167
3202
|
"utf-8",
|
|
3168
3203
|
]
|
|
3169
3204
|
|
|
3205
|
+
[[package]]
|
|
3206
|
+
name = "tungstenite"
|
|
3207
|
+
version = "0.29.0"
|
|
3208
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3209
|
+
checksum = "6c01152af293afb9c7c2a57e4b559c5620b421f6d133261c60dd2d0cdb38e6b8"
|
|
3210
|
+
dependencies = [
|
|
3211
|
+
"bytes",
|
|
3212
|
+
"data-encoding",
|
|
3213
|
+
"http",
|
|
3214
|
+
"httparse",
|
|
3215
|
+
"log",
|
|
3216
|
+
"rand 0.9.2",
|
|
3217
|
+
"sha1",
|
|
3218
|
+
"thiserror 2.0.18",
|
|
3219
|
+
]
|
|
3220
|
+
|
|
3170
3221
|
[[package]]
|
|
3171
3222
|
name = "typeid"
|
|
3172
3223
|
version = "1.0.3"
|
|
@@ -3321,9 +3372,9 @@ checksum = "e2eebbbfe4093922c2b6734d7c679ebfebd704a0d7e56dfcb0d05818ce28977d"
|
|
|
3321
3372
|
|
|
3322
3373
|
[[package]]
|
|
3323
3374
|
name = "uuid"
|
|
3324
|
-
version = "1.
|
|
3375
|
+
version = "1.22.0"
|
|
3325
3376
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3326
|
-
checksum = "
|
|
3377
|
+
checksum = "a68d3c8f01c0cfa54a75291d83601161799e4a89a39e0929f4b0354d88757a37"
|
|
3327
3378
|
dependencies = [
|
|
3328
3379
|
"getrandom 0.4.1",
|
|
3329
3380
|
"js-sys",
|