chalk-remote-call-python 1.10.2__tar.gz → 1.10.4__tar.gz

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 (75) hide show
  1. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/PKG-INFO +23 -1
  2. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/README.md +22 -0
  3. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk-remote-call-rs/Cargo.lock +72 -5
  4. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk-remote-call-rs/chalk-remote-call-proto/src/gen/chalk.auth.v1.rs +40 -0
  5. chalk_remote_call_python-1.10.4/chalk-remote-call-rs/chalk-remote-call-proto/src/gen/chalk.runtime.v1.rs +506 -0
  6. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk-remote-call-rs/chalk-remote-call-proto/src/gen/chalk.runtime.v1.tonic.rs +562 -0
  7. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk-remote-call-rs/chalk-remote-call-proto/src/gen/descriptor.bin +0 -0
  8. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk-remote-call-rs/chalk-remote-call-server/Cargo.toml +3 -2
  9. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk-remote-call-rs/chalk-remote-call-server/src/async_service.rs +20 -3
  10. chalk_remote_call_python-1.10.4/chalk-remote-call-rs/chalk-remote-call-server/src/fnq_client.rs +203 -0
  11. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk-remote-call-rs/chalk-remote-call-server/src/lib.rs +2 -0
  12. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk-remote-call-rs/chalk-remote-call-server/src/metrics.rs +4 -0
  13. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk-remote-call-rs/chalk-remote-call-server/src/self_consumer.rs +357 -76
  14. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/_gen/chalk/auth/v1/permissions_pb2.py +43 -33
  15. chalk_remote_call_python-1.10.4/chalk_remote_call/_gen/chalk/runtime/v1/fnq_consumer_pb2.py +53 -0
  16. chalk_remote_call_python-1.10.4/chalk_remote_call/_gen/chalk/runtime/v1/fnq_consumer_pb2_grpc.py +138 -0
  17. chalk_remote_call_python-1.10.4/chalk_remote_call/_gen/chalk/runtime/v1/remote_python_call_pb2.py +104 -0
  18. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/_gen/chalk/runtime/v1/remote_python_call_pb2_grpc.py +35 -0
  19. chalk_remote_call_python-1.10.4/chalk_remote_call/_gen/chalk/utils/v1/large_pb2.py +26 -0
  20. chalk_remote_call_python-1.10.4/chalk_remote_call/_gen/chalk/utils/v1/sensitive_pb2_grpc.py +4 -0
  21. chalk_remote_call_python-1.10.4/chalk_remote_call/_version.py +1 -0
  22. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call_python.egg-info/PKG-INFO +23 -1
  23. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call_python.egg-info/SOURCES.txt +5 -0
  24. chalk_remote_call_python-1.10.2/chalk-remote-call-rs/chalk-remote-call-proto/src/gen/chalk.runtime.v1.rs +0 -242
  25. chalk_remote_call_python-1.10.2/chalk_remote_call/_gen/chalk/runtime/v1/remote_python_call_pb2.py +0 -80
  26. chalk_remote_call_python-1.10.2/chalk_remote_call/_version.py +0 -1
  27. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/MANIFEST.in +0 -0
  28. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk-remote-call-rs/Cargo.toml +0 -0
  29. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk-remote-call-rs/chalk-remote-call-proto/Cargo.toml +0 -0
  30. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk-remote-call-rs/chalk-remote-call-proto/src/gen/chalk.common.v1.rs +0 -0
  31. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk-remote-call-rs/chalk-remote-call-proto/src/gen/chalk.utils.v1.rs +0 -0
  32. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk-remote-call-rs/chalk-remote-call-proto/src/lib.rs +0 -0
  33. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk-remote-call-rs/chalk-remote-call-server/src/coalesce.rs +0 -0
  34. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk-remote-call-rs/chalk-remote-call-server/src/python_bridge.rs +0 -0
  35. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk-remote-call-rs/chalk-remote-call-server/src/server.rs +0 -0
  36. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk-remote-call-rs/chalk-remote-call-server/src/service.rs +0 -0
  37. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk-remote-call-rs/rust-toolchain.toml +0 -0
  38. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/__init__.py +0 -0
  39. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/__main__.py +0 -0
  40. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/_gen/__init__.py +0 -0
  41. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/_gen/chalk/__init__.py +0 -0
  42. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/_gen/chalk/auth/__init__.py +0 -0
  43. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/_gen/chalk/auth/v1/__init__.py +0 -0
  44. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/_gen/chalk/auth/v1/permissions_pb2_grpc.py +0 -0
  45. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/_gen/chalk/common/__init__.py +0 -0
  46. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/_gen/chalk/common/v1/__init__.py +0 -0
  47. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/_gen/chalk/common/v1/chalk_error_pb2.py +0 -0
  48. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/_gen/chalk/common/v1/chalk_error_pb2_grpc.py +0 -0
  49. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/_gen/chalk/runtime/__init__.py +0 -0
  50. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/_gen/chalk/runtime/v1/__init__.py +0 -0
  51. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/_gen/chalk/utils/__init__.py +0 -0
  52. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/_gen/chalk/utils/v1/__init__.py +0 -0
  53. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/_gen/chalk/utils/v1/encoding_pb2.py +0 -0
  54. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/_gen/chalk/utils/v1/encoding_pb2_grpc.py +0 -0
  55. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/_gen/chalk/utils/v1/field_change_pb2.py +0 -0
  56. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/_gen/chalk/utils/v1/field_change_pb2_grpc.py +0 -0
  57. /chalk_remote_call_python-1.10.2/chalk_remote_call/_gen/chalk/utils/v1/sensitive_pb2_grpc.py → /chalk_remote_call_python-1.10.4/chalk_remote_call/_gen/chalk/utils/v1/large_pb2_grpc.py +0 -0
  58. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/_gen/chalk/utils/v1/sensitive_pb2.py +0 -0
  59. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/_native.pyi +0 -0
  60. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/arrow_utils.py +0 -0
  61. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/cli.py +0 -0
  62. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/errors.py +0 -0
  63. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/handler_loader.py +0 -0
  64. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/input_transform.py +0 -0
  65. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/logging.py +0 -0
  66. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/server.py +0 -0
  67. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/servicer.py +0 -0
  68. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call/tracing.py +0 -0
  69. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call_python.egg-info/dependency_links.txt +0 -0
  70. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call_python.egg-info/entry_points.txt +0 -0
  71. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call_python.egg-info/requires.txt +0 -0
  72. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/chalk_remote_call_python.egg-info/top_level.txt +0 -0
  73. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/pyproject.toml +0 -0
  74. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/setup.cfg +0 -0
  75. {chalk_remote_call_python-1.10.2 → chalk_remote_call_python-1.10.4}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: chalk-remote-call-python
3
- Version: 1.10.2
3
+ Version: 1.10.4
4
4
  Summary: Chalk remote call Python runtime interface client
5
5
  Author: Chalk AI, Inc.
6
6
  Project-URL: Homepage, https://chalk.ai
@@ -126,6 +126,8 @@ set `RUST_LOG=info,chalk_metrics::metrics::config=debug` to include them.
126
126
  | Variable | Description |
127
127
  |----------|-------------|
128
128
  | `CHALK_INPUT_ARGS` | Comma-separated list of column names (e.g. `x,y,z`). Renames incoming RecordBatch columns by index. If unset, the original column names are used. Reserved columns (below) are held out of this mapping and keep their own name. |
129
+ | `CHALK_FNQ_CONSUMER_ENDPOINT` | Opt into DP API `FnqConsumerService` consumption (HTTP or HTTPS gRPC endpoint). Unset preserves direct Redis consumption. API errors never fall back to Redis. |
130
+ | `CHALK_FUNCTION_QUEUE_TOKEN_FILE` | Controller-mounted working JWT, reopened per RPC to observe rotation. Defaults to `/var/run/secrets/chalk-function-queue/identity-token`. The shim does not exchange credentials. |
129
131
  | `CHALK_FNQ_QUEUE_PROTOCOL` | Self-consumer work transport: `list_v1` (default/backward compatible) or `stream_v1`. Deployment tooling sets this from immutable scaling-group revision metadata. |
130
132
 
131
133
  #### Reserved columns
@@ -245,3 +247,23 @@ Payloads are bounded for gRPC header limits. Truncation is marked explicitly,
245
247
  with complete tracebacks kept in server logs. Exception objects and locals are
246
248
  never pickled or sent. Chalk SDK-generated handlers identify their dispatch
247
249
  frames, and notebook source maps identify the deployed snapshot's lines.
250
+
251
+ ### Fnq integration test
252
+
253
+ On Linux, build the native extension and the paired `chalk-private` test harness:
254
+
255
+ ```bash
256
+ # chalk-private, inside the Nix dev shell
257
+ bazel build //rust-crates/chalk/dataplane-api-server:fnq_test_server
258
+
259
+ # chalk-remote-call-python
260
+ uv pip install -e ".[dev]" redis PyJWT cryptography
261
+ FNQ_TEST_SERVER=/path/to/chalk-private/bazel-bin/rust-crates/chalk/dataplane-api-server/fnq_test_server \
262
+ REDIS_URL=redis://127.0.0.1:6379 .venv/bin/pytest tests/test_fnq_api_e2e.py -v
263
+ ```
264
+
265
+ Use an isolated Redis instance. The tests create temporary signing keys and start
266
+ the production JWT layer and Fnq service, then exercise real native-shim execution,
267
+ lease renewal, result writes, token rotation, and environment isolation. These tests
268
+ skip unless `FNQ_TEST_SERVER` and `REDIS_URL` are set. Deploy the service before
269
+ setting `CHALK_FNQ_CONSUMER_ENDPOINT` on a workload.
@@ -88,6 +88,8 @@ set `RUST_LOG=info,chalk_metrics::metrics::config=debug` to include them.
88
88
  | Variable | Description |
89
89
  |----------|-------------|
90
90
  | `CHALK_INPUT_ARGS` | Comma-separated list of column names (e.g. `x,y,z`). Renames incoming RecordBatch columns by index. If unset, the original column names are used. Reserved columns (below) are held out of this mapping and keep their own name. |
91
+ | `CHALK_FNQ_CONSUMER_ENDPOINT` | Opt into DP API `FnqConsumerService` consumption (HTTP or HTTPS gRPC endpoint). Unset preserves direct Redis consumption. API errors never fall back to Redis. |
92
+ | `CHALK_FUNCTION_QUEUE_TOKEN_FILE` | Controller-mounted working JWT, reopened per RPC to observe rotation. Defaults to `/var/run/secrets/chalk-function-queue/identity-token`. The shim does not exchange credentials. |
91
93
  | `CHALK_FNQ_QUEUE_PROTOCOL` | Self-consumer work transport: `list_v1` (default/backward compatible) or `stream_v1`. Deployment tooling sets this from immutable scaling-group revision metadata. |
92
94
 
93
95
  #### Reserved columns
@@ -207,3 +209,23 @@ Payloads are bounded for gRPC header limits. Truncation is marked explicitly,
207
209
  with complete tracebacks kept in server logs. Exception objects and locals are
208
210
  never pickled or sent. Chalk SDK-generated handlers identify their dispatch
209
211
  frames, and notebook source maps identify the deployed snapshot's lines.
212
+
213
+ ### Fnq integration test
214
+
215
+ On Linux, build the native extension and the paired `chalk-private` test harness:
216
+
217
+ ```bash
218
+ # chalk-private, inside the Nix dev shell
219
+ bazel build //rust-crates/chalk/dataplane-api-server:fnq_test_server
220
+
221
+ # chalk-remote-call-python
222
+ uv pip install -e ".[dev]" redis PyJWT cryptography
223
+ FNQ_TEST_SERVER=/path/to/chalk-private/bazel-bin/rust-crates/chalk/dataplane-api-server/fnq_test_server \
224
+ REDIS_URL=redis://127.0.0.1:6379 .venv/bin/pytest tests/test_fnq_api_e2e.py -v
225
+ ```
226
+
227
+ Use an isolated Redis instance. The tests create temporary signing keys and start
228
+ the production JWT layer and Fnq service, then exercise real native-shim execution,
229
+ lease renewal, result writes, token rotation, and environment isolation. These tests
230
+ skip unless `FNQ_TEST_SERVER` and `REDIS_URL` are set. Deploy the service before
231
+ setting `CHALK_FNQ_CONSUMER_ENDPOINT` on a workload.
@@ -537,6 +537,7 @@ name = "chalk-remote-call-server"
537
537
  version = "0.1.0"
538
538
  dependencies = [
539
539
  "arrow",
540
+ "base64 0.22.1",
540
541
  "bytes",
541
542
  "chalk-queue",
542
543
  "chalk-remote-call-proto",
@@ -2773,10 +2774,37 @@ checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e"
2773
2774
  dependencies = [
2774
2775
  "log",
2775
2776
  "ring",
2776
- "rustls-webpki",
2777
+ "rustls-webpki 0.101.7",
2777
2778
  "sct",
2778
2779
  ]
2779
2780
 
2781
+ [[package]]
2782
+ name = "rustls"
2783
+ version = "0.23.43"
2784
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2785
+ checksum = "0283386ce02abc0151e1761d08802dfe86c173b0b494af5cbc086574e453da06"
2786
+ dependencies = [
2787
+ "log",
2788
+ "once_cell",
2789
+ "ring",
2790
+ "rustls-pki-types",
2791
+ "rustls-webpki 0.103.15",
2792
+ "subtle",
2793
+ "zeroize",
2794
+ ]
2795
+
2796
+ [[package]]
2797
+ name = "rustls-native-certs"
2798
+ version = "0.8.4"
2799
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2800
+ checksum = "dab5152771c58876a2146916e53e35057e1a4dfa2b9df0f0305b07f611fdea4d"
2801
+ dependencies = [
2802
+ "openssl-probe",
2803
+ "rustls-pki-types",
2804
+ "schannel",
2805
+ "security-framework",
2806
+ ]
2807
+
2780
2808
  [[package]]
2781
2809
  name = "rustls-pemfile"
2782
2810
  version = "1.0.4"
@@ -2786,6 +2814,15 @@ dependencies = [
2786
2814
  "base64 0.21.7",
2787
2815
  ]
2788
2816
 
2817
+ [[package]]
2818
+ name = "rustls-pemfile"
2819
+ version = "2.2.0"
2820
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2821
+ checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50"
2822
+ dependencies = [
2823
+ "rustls-pki-types",
2824
+ ]
2825
+
2789
2826
  [[package]]
2790
2827
  name = "rustls-pki-types"
2791
2828
  version = "1.14.1"
@@ -2805,6 +2842,17 @@ dependencies = [
2805
2842
  "untrusted",
2806
2843
  ]
2807
2844
 
2845
+ [[package]]
2846
+ name = "rustls-webpki"
2847
+ version = "0.103.15"
2848
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2849
+ checksum = "f3c3cf1d8b1e7d4927e2d154c3fcb02979afb9939629c62cd9048d4f07b60ac2"
2850
+ dependencies = [
2851
+ "ring",
2852
+ "rustls-pki-types",
2853
+ "untrusted",
2854
+ ]
2855
+
2808
2856
  [[package]]
2809
2857
  name = "rustversion"
2810
2858
  version = "1.0.22"
@@ -3068,6 +3116,12 @@ version = "1.2.1"
3068
3116
  source = "registry+https://github.com/rust-lang/crates.io-index"
3069
3117
  checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596"
3070
3118
 
3119
+ [[package]]
3120
+ name = "subtle"
3121
+ version = "2.6.1"
3122
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3123
+ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
3124
+
3071
3125
  [[package]]
3072
3126
  name = "syn"
3073
3127
  version = "1.0.109"
@@ -3312,7 +3366,17 @@ version = "0.24.1"
3312
3366
  source = "registry+https://github.com/rust-lang/crates.io-index"
3313
3367
  checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
3314
3368
  dependencies = [
3315
- "rustls",
3369
+ "rustls 0.21.12",
3370
+ "tokio",
3371
+ ]
3372
+
3373
+ [[package]]
3374
+ name = "tokio-rustls"
3375
+ version = "0.26.4"
3376
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3377
+ checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61"
3378
+ dependencies = [
3379
+ "rustls 0.23.43",
3316
3380
  "tokio",
3317
3381
  ]
3318
3382
 
@@ -3418,10 +3482,10 @@ dependencies = [
3418
3482
  "percent-encoding",
3419
3483
  "pin-project",
3420
3484
  "prost 0.12.6",
3421
- "rustls",
3422
- "rustls-pemfile",
3485
+ "rustls 0.21.12",
3486
+ "rustls-pemfile 1.0.4",
3423
3487
  "tokio",
3424
- "tokio-rustls",
3488
+ "tokio-rustls 0.24.1",
3425
3489
  "tokio-stream",
3426
3490
  "tower 0.4.13",
3427
3491
  "tower-layer",
@@ -3451,8 +3515,11 @@ dependencies = [
3451
3515
  "percent-encoding",
3452
3516
  "pin-project",
3453
3517
  "prost 0.13.5",
3518
+ "rustls-native-certs",
3519
+ "rustls-pemfile 2.2.0",
3454
3520
  "socket2 0.5.10",
3455
3521
  "tokio",
3522
+ "tokio-rustls 0.26.4",
3456
3523
  "tokio-stream",
3457
3524
  "tower 0.4.13",
3458
3525
  "tower-layer",
@@ -1,5 +1,33 @@
1
1
  // @generated
2
2
  // This file is @generated by prost-build.
3
+ /// Principal types that a permission may be assigned to directly. User-role
4
+ /// assignment is managed separately; this metadata controls non-user principals.
5
+ #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6
+ #[repr(i32)]
7
+ pub enum PermissionPrincipal {
8
+ Unspecified = 0,
9
+ ServiceToken = 1,
10
+ }
11
+ impl PermissionPrincipal {
12
+ /// String value of the enum field names used in the ProtoBuf definition.
13
+ ///
14
+ /// The values are not transformed in any way and thus are considered stable
15
+ /// (if the ProtoBuf definition does not change) and safe for programmatic use.
16
+ pub fn as_str_name(&self) -> &'static str {
17
+ match self {
18
+ PermissionPrincipal::Unspecified => "PERMISSION_PRINCIPAL_UNSPECIFIED",
19
+ PermissionPrincipal::ServiceToken => "PERMISSION_PRINCIPAL_SERVICE_TOKEN",
20
+ }
21
+ }
22
+ /// Creates an enum from field names used in the ProtoBuf definition.
23
+ pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
24
+ match value {
25
+ "PERMISSION_PRINCIPAL_UNSPECIFIED" => Some(Self::Unspecified),
26
+ "PERMISSION_PRINCIPAL_SERVICE_TOKEN" => Some(Self::ServiceToken),
27
+ _ => None,
28
+ }
29
+ }
30
+ }
3
31
  #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4
32
  #[repr(i32)]
5
33
  pub enum Permission {
@@ -42,6 +70,10 @@ pub enum Permission {
42
70
  InternalWorkingTokenExchange = 34,
43
71
  BillingWrite = 35,
44
72
  QueryOfflineRead = 36,
73
+ InternalResourceShareView = 37,
74
+ InternalExchangeTokenRenew = 38,
75
+ AgentsWrite = 39,
76
+ AgentsRead = 40,
45
77
  }
46
78
  impl Permission {
47
79
  /// String value of the enum field names used in the ProtoBuf definition.
@@ -87,6 +119,10 @@ impl Permission {
87
119
  Permission::InternalWorkingTokenExchange => "PERMISSION_INTERNAL_WORKING_TOKEN_EXCHANGE",
88
120
  Permission::BillingWrite => "PERMISSION_BILLING_WRITE",
89
121
  Permission::QueryOfflineRead => "PERMISSION_QUERY_OFFLINE_READ",
122
+ Permission::InternalResourceShareView => "PERMISSION_INTERNAL_RESOURCE_SHARE_VIEW",
123
+ Permission::InternalExchangeTokenRenew => "PERMISSION_INTERNAL_EXCHANGE_TOKEN_RENEW",
124
+ Permission::AgentsWrite => "PERMISSION_AGENTS_WRITE",
125
+ Permission::AgentsRead => "PERMISSION_AGENTS_READ",
90
126
  }
91
127
  }
92
128
  /// Creates an enum from field names used in the ProtoBuf definition.
@@ -129,6 +165,10 @@ impl Permission {
129
165
  "PERMISSION_INTERNAL_WORKING_TOKEN_EXCHANGE" => Some(Self::InternalWorkingTokenExchange),
130
166
  "PERMISSION_BILLING_WRITE" => Some(Self::BillingWrite),
131
167
  "PERMISSION_QUERY_OFFLINE_READ" => Some(Self::QueryOfflineRead),
168
+ "PERMISSION_INTERNAL_RESOURCE_SHARE_VIEW" => Some(Self::InternalResourceShareView),
169
+ "PERMISSION_INTERNAL_EXCHANGE_TOKEN_RENEW" => Some(Self::InternalExchangeTokenRenew),
170
+ "PERMISSION_AGENTS_WRITE" => Some(Self::AgentsWrite),
171
+ "PERMISSION_AGENTS_READ" => Some(Self::AgentsRead),
132
172
  _ => None,
133
173
  }
134
174
  }