omium 0.1.0__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 (42) hide show
  1. omium-0.1.0/LICENSE.md +8 -0
  2. omium-0.1.0/MANIFEST.in +5 -0
  3. omium-0.1.0/PKG-INFO +221 -0
  4. omium-0.1.0/README.md +181 -0
  5. omium-0.1.0/checkpoint/checkpoint_pb2.py +65 -0
  6. omium-0.1.0/checkpoint/checkpoint_pb2_grpc.py +321 -0
  7. omium-0.1.0/examples/basic_checkpoint.py +130 -0
  8. omium-0.1.0/omium/__init__.py +36 -0
  9. omium-0.1.0/omium/agent.py +38 -0
  10. omium-0.1.0/omium/checkpoint.py +305 -0
  11. omium-0.1.0/omium/cli.py +744 -0
  12. omium-0.1.0/omium/client.py +527 -0
  13. omium-0.1.0/omium/config.py +234 -0
  14. omium-0.1.0/omium/consensus.py +44 -0
  15. omium-0.1.0/omium/consensus_client.py +371 -0
  16. omium-0.1.0/omium/policy_client.py +235 -0
  17. omium-0.1.0/omium/proto/__init__.py +36 -0
  18. omium-0.1.0/omium/proto/checkpoint/__init__.py +9 -0
  19. omium-0.1.0/omium/proto/checkpoint/checkpoint_pb2.py +65 -0
  20. omium-0.1.0/omium/proto/checkpoint/checkpoint_pb2_grpc.py +321 -0
  21. omium-0.1.0/omium/proto/consensus/__init__.py +4 -0
  22. omium-0.1.0/omium/proto/consensus/consensus_pb2.py +65 -0
  23. omium-0.1.0/omium/proto/consensus/consensus_pb2_grpc.py +277 -0
  24. omium-0.1.0/omium/proto/policy/__init__.py +4 -0
  25. omium-0.1.0/omium/proto/policy/policy_pb2.py +71 -0
  26. omium-0.1.0/omium/proto/policy/policy_pb2_grpc.py +321 -0
  27. omium-0.1.0/omium/proto/tracing/__init__.py +4 -0
  28. omium-0.1.0/omium/proto/tracing/tracing_pb2.py +67 -0
  29. omium-0.1.0/omium/proto/tracing/tracing_pb2_grpc.py +233 -0
  30. omium-0.1.0/omium/remote_client.py +316 -0
  31. omium-0.1.0/omium/tracing_client.py +270 -0
  32. omium-0.1.0/omium.egg-info/PKG-INFO +221 -0
  33. omium-0.1.0/omium.egg-info/SOURCES.txt +40 -0
  34. omium-0.1.0/omium.egg-info/dependency_links.txt +1 -0
  35. omium-0.1.0/omium.egg-info/entry_points.txt +2 -0
  36. omium-0.1.0/omium.egg-info/requires.txt +15 -0
  37. omium-0.1.0/omium.egg-info/top_level.txt +5 -0
  38. omium-0.1.0/pyproject.toml +47 -0
  39. omium-0.1.0/scripts/generate_consensus_proto.py +68 -0
  40. omium-0.1.0/setup.cfg +4 -0
  41. omium-0.1.0/setup.py +5 -0
  42. omium-0.1.0/tests/test_checkpoint.py +201 -0
omium-0.1.0/LICENSE.md ADDED
@@ -0,0 +1,8 @@
1
+ # Proprietary License
2
+
3
+ Copyright (c) 2025 Omium.
4
+
5
+ All rights reserved. The Omium Python SDK is proprietary software. You may not copy,
6
+ modify, merge, publish, distribute, sublicense, and/or sell copies of the SDK
7
+ except as explicitly permitted in writing by Omium.
8
+
@@ -0,0 +1,5 @@
1
+ include README.md
2
+ include LICENSE.md
3
+ recursive-include omium/proto *.py
4
+ recursive-include omium *.typed
5
+
omium-0.1.0/PKG-INFO ADDED
@@ -0,0 +1,221 @@
1
+ Metadata-Version: 2.4
2
+ Name: omium
3
+ Version: 0.1.0
4
+ Summary: Omium SDK for Python - Fault-tolerant agent operating system
5
+ Author-email: Omium Team <anurag@omium.ai>
6
+ License: # Proprietary License
7
+
8
+ Copyright (c) 2025 Omium.
9
+
10
+ All rights reserved. The Omium Python SDK is proprietary software. You may not copy,
11
+ modify, merge, publish, distribute, sublicense, and/or sell copies of the SDK
12
+ except as explicitly permitted in writing by Omium.
13
+
14
+
15
+ Keywords: agents,checkpointing,fault-tolerant,omium
16
+ Classifier: Development Status :: 3 - Alpha
17
+ Classifier: Intended Audience :: Developers
18
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
19
+ Classifier: License :: Other/Proprietary License
20
+ Classifier: Programming Language :: Python :: 3
21
+ Classifier: Programming Language :: Python :: 3.11
22
+ Requires-Python: >=3.11
23
+ Description-Content-Type: text/markdown
24
+ License-File: LICENSE.md
25
+ Requires-Dist: grpcio>=1.60.0
26
+ Requires-Dist: grpcio-tools>=1.60.0
27
+ Requires-Dist: protobuf>=4.25.0
28
+ Requires-Dist: pydantic>=2.5.0
29
+ Requires-Dist: httpx>=0.25.0
30
+ Requires-Dist: click>=8.1.0
31
+ Provides-Extra: dev
32
+ Requires-Dist: pytest>=7.4.0; extra == "dev"
33
+ Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
34
+ Requires-Dist: black>=23.0.0; extra == "dev"
35
+ Requires-Dist: isort>=5.12.0; extra == "dev"
36
+ Requires-Dist: mypy>=1.7.0; extra == "dev"
37
+ Requires-Dist: build>=1.0.0; extra == "dev"
38
+ Requires-Dist: twine>=4.0.2; extra == "dev"
39
+ Dynamic: license-file
40
+
41
+ # Omium Python SDK
42
+
43
+ Python SDK for integrating Omium checkpoint and recovery capabilities into your agent workflows.
44
+
45
+ ## Installation
46
+
47
+ ### From PyPI (recommended)
48
+
49
+ ```bash
50
+ python -m pip install --upgrade pip
51
+ python -m pip install omium
52
+ ```
53
+
54
+ The package is signed and published via PyPI’s Trusted Publisher workflow so that no API
55
+ tokens are stored in the repository. Enable pip’s hash-checking mode or use `pipx` if you
56
+ need additional supply-chain guarantees.
57
+
58
+ ### From source (development)
59
+
60
+ ```bash
61
+ cd omium-platform/sdk/python
62
+ python -m pip install -e ".[dev]"
63
+ ```
64
+
65
+ ## Quick Start
66
+
67
+ ### 1. Setup Client
68
+
69
+ ```python
70
+ from omium import OmiumClient
71
+
72
+ client = OmiumClient(checkpoint_manager_url="localhost:7001")
73
+ await client.connect()
74
+ client.set_execution_context(execution_id="exec_123", agent_id="agent_1")
75
+ ```
76
+
77
+ ### 2. Using @checkpoint Decorator
78
+
79
+ ```python
80
+ from omium import checkpoint
81
+
82
+ @checkpoint("validate_data", preconditions=["data is not None"])
83
+ async def validate_data(data: dict) -> dict:
84
+ assert data is not None
85
+ assert "value" in data
86
+ return {"validated": True, "data": data}
87
+
88
+ # Use the function
89
+ result = await validate_data({"value": 42})
90
+ ```
91
+
92
+ ### 3. Using Checkpoint Context Manager
93
+
94
+ ```python
95
+ from omium import Checkpoint
96
+
97
+ async with Checkpoint("important_state", client=client) as cp:
98
+ # Critical code here
99
+ result = await do_critical_thing()
100
+ cp.update_state(step="complete")
101
+ # Checkpoint saved automatically on exit
102
+ ```
103
+
104
+ ### 4. Manual Checkpoint Creation
105
+
106
+ ```python
107
+ checkpoint_id = await client.create_checkpoint(
108
+ checkpoint_name="manual_checkpoint",
109
+ state={"data": "important"},
110
+ preconditions=["data exists"],
111
+ postconditions=["data is valid"],
112
+ )
113
+ ```
114
+
115
+ ### 5. Rollback to Checkpoint
116
+
117
+ ```python
118
+ rollback_result = await client.rollback_to_checkpoint(
119
+ checkpoint_id="cp_123",
120
+ trigger_reason="manual rollback",
121
+ )
122
+ ```
123
+
124
+ ## Features
125
+
126
+ - **@checkpoint Decorator** - Automatic checkpoint creation before/after function execution
127
+ - **Checkpoint Context Manager** - Manual checkpoint control with context manager
128
+ - **Async gRPC Client** - High-performance async communication with checkpoint-manager
129
+ - **State Serialization** - Automatic serialization of function arguments and results
130
+ - **Pre/Post Conditions** - Validation support for checkpoint creation
131
+ - **Rollback Support** - Rollback execution to any checkpoint
132
+
133
+ ## Examples
134
+
135
+ See `examples/basic_checkpoint.py` for complete examples.
136
+
137
+ ## Testing
138
+
139
+ ```bash
140
+ # Install dev dependencies
141
+ pip install -e ".[dev]"
142
+
143
+ # Run tests
144
+ pytest tests/
145
+
146
+ # Run with coverage
147
+ pytest tests/ --cov=omium --cov-report=html
148
+ ```
149
+
150
+ ## API Reference
151
+
152
+ ### OmiumClient
153
+
154
+ Main client for checkpoint operations.
155
+
156
+ #### Methods
157
+
158
+ - `connect()` - Connect to checkpoint-manager service
159
+ - `close()` - Close connection
160
+ - `set_execution_context(execution_id, agent_id)` - Set execution context
161
+ - `create_checkpoint(...)` - Create a checkpoint
162
+ - `get_checkpoint(checkpoint_id)` - Get checkpoint details
163
+ - `list_checkpoints(execution_id)` - List checkpoints for execution
164
+ - `rollback_to_checkpoint(checkpoint_id)` - Rollback to checkpoint
165
+ - `verify_checkpoint(checkpoint_id)` - Verify checkpoint integrity
166
+
167
+ ### @checkpoint Decorator
168
+
169
+ ```python
170
+ @checkpoint(
171
+ name: str,
172
+ preconditions: Optional[List[str]] = None,
173
+ postconditions: Optional[List[str]] = None,
174
+ client: Optional[OmiumClient] = None,
175
+ execution_id: Optional[str] = None,
176
+ agent_id: Optional[str] = None,
177
+ )
178
+ ```
179
+
180
+ ### Checkpoint Context Manager
181
+
182
+ ```python
183
+ Checkpoint(
184
+ name: str,
185
+ client: Optional[OmiumClient] = None,
186
+ execution_id: Optional[str] = None,
187
+ agent_id: Optional[str] = None,
188
+ preconditions: Optional[List[str]] = None,
189
+ postconditions: Optional[List[str]] = None,
190
+ )
191
+ ```
192
+
193
+ ## Requirements
194
+
195
+ - Python >= 3.11
196
+ - grpcio >= 1.60.0
197
+ - protobuf >= 4.25.0
198
+
199
+ ## Development
200
+
201
+ ### Generating Proto Code
202
+
203
+ ```bash
204
+ # From sdk/python directory
205
+ python -m grpc_tools.protoc \
206
+ --python_out=omium/proto \
207
+ --grpc_python_out=omium/proto \
208
+ --proto_path=../../shared/proto \
209
+ ../../shared/proto/checkpoint/checkpoint.proto
210
+ ```
211
+
212
+ Or use the script:
213
+
214
+ ```bash
215
+ .\scripts\generate-proto.ps1 # Windows
216
+ ./scripts/generate-proto.sh # Linux/Mac
217
+ ```
218
+
219
+ ## License
220
+
221
+ Proprietary - Omium Platform
omium-0.1.0/README.md ADDED
@@ -0,0 +1,181 @@
1
+ # Omium Python SDK
2
+
3
+ Python SDK for integrating Omium checkpoint and recovery capabilities into your agent workflows.
4
+
5
+ ## Installation
6
+
7
+ ### From PyPI (recommended)
8
+
9
+ ```bash
10
+ python -m pip install --upgrade pip
11
+ python -m pip install omium
12
+ ```
13
+
14
+ The package is signed and published via PyPI’s Trusted Publisher workflow so that no API
15
+ tokens are stored in the repository. Enable pip’s hash-checking mode or use `pipx` if you
16
+ need additional supply-chain guarantees.
17
+
18
+ ### From source (development)
19
+
20
+ ```bash
21
+ cd omium-platform/sdk/python
22
+ python -m pip install -e ".[dev]"
23
+ ```
24
+
25
+ ## Quick Start
26
+
27
+ ### 1. Setup Client
28
+
29
+ ```python
30
+ from omium import OmiumClient
31
+
32
+ client = OmiumClient(checkpoint_manager_url="localhost:7001")
33
+ await client.connect()
34
+ client.set_execution_context(execution_id="exec_123", agent_id="agent_1")
35
+ ```
36
+
37
+ ### 2. Using @checkpoint Decorator
38
+
39
+ ```python
40
+ from omium import checkpoint
41
+
42
+ @checkpoint("validate_data", preconditions=["data is not None"])
43
+ async def validate_data(data: dict) -> dict:
44
+ assert data is not None
45
+ assert "value" in data
46
+ return {"validated": True, "data": data}
47
+
48
+ # Use the function
49
+ result = await validate_data({"value": 42})
50
+ ```
51
+
52
+ ### 3. Using Checkpoint Context Manager
53
+
54
+ ```python
55
+ from omium import Checkpoint
56
+
57
+ async with Checkpoint("important_state", client=client) as cp:
58
+ # Critical code here
59
+ result = await do_critical_thing()
60
+ cp.update_state(step="complete")
61
+ # Checkpoint saved automatically on exit
62
+ ```
63
+
64
+ ### 4. Manual Checkpoint Creation
65
+
66
+ ```python
67
+ checkpoint_id = await client.create_checkpoint(
68
+ checkpoint_name="manual_checkpoint",
69
+ state={"data": "important"},
70
+ preconditions=["data exists"],
71
+ postconditions=["data is valid"],
72
+ )
73
+ ```
74
+
75
+ ### 5. Rollback to Checkpoint
76
+
77
+ ```python
78
+ rollback_result = await client.rollback_to_checkpoint(
79
+ checkpoint_id="cp_123",
80
+ trigger_reason="manual rollback",
81
+ )
82
+ ```
83
+
84
+ ## Features
85
+
86
+ - **@checkpoint Decorator** - Automatic checkpoint creation before/after function execution
87
+ - **Checkpoint Context Manager** - Manual checkpoint control with context manager
88
+ - **Async gRPC Client** - High-performance async communication with checkpoint-manager
89
+ - **State Serialization** - Automatic serialization of function arguments and results
90
+ - **Pre/Post Conditions** - Validation support for checkpoint creation
91
+ - **Rollback Support** - Rollback execution to any checkpoint
92
+
93
+ ## Examples
94
+
95
+ See `examples/basic_checkpoint.py` for complete examples.
96
+
97
+ ## Testing
98
+
99
+ ```bash
100
+ # Install dev dependencies
101
+ pip install -e ".[dev]"
102
+
103
+ # Run tests
104
+ pytest tests/
105
+
106
+ # Run with coverage
107
+ pytest tests/ --cov=omium --cov-report=html
108
+ ```
109
+
110
+ ## API Reference
111
+
112
+ ### OmiumClient
113
+
114
+ Main client for checkpoint operations.
115
+
116
+ #### Methods
117
+
118
+ - `connect()` - Connect to checkpoint-manager service
119
+ - `close()` - Close connection
120
+ - `set_execution_context(execution_id, agent_id)` - Set execution context
121
+ - `create_checkpoint(...)` - Create a checkpoint
122
+ - `get_checkpoint(checkpoint_id)` - Get checkpoint details
123
+ - `list_checkpoints(execution_id)` - List checkpoints for execution
124
+ - `rollback_to_checkpoint(checkpoint_id)` - Rollback to checkpoint
125
+ - `verify_checkpoint(checkpoint_id)` - Verify checkpoint integrity
126
+
127
+ ### @checkpoint Decorator
128
+
129
+ ```python
130
+ @checkpoint(
131
+ name: str,
132
+ preconditions: Optional[List[str]] = None,
133
+ postconditions: Optional[List[str]] = None,
134
+ client: Optional[OmiumClient] = None,
135
+ execution_id: Optional[str] = None,
136
+ agent_id: Optional[str] = None,
137
+ )
138
+ ```
139
+
140
+ ### Checkpoint Context Manager
141
+
142
+ ```python
143
+ Checkpoint(
144
+ name: str,
145
+ client: Optional[OmiumClient] = None,
146
+ execution_id: Optional[str] = None,
147
+ agent_id: Optional[str] = None,
148
+ preconditions: Optional[List[str]] = None,
149
+ postconditions: Optional[List[str]] = None,
150
+ )
151
+ ```
152
+
153
+ ## Requirements
154
+
155
+ - Python >= 3.11
156
+ - grpcio >= 1.60.0
157
+ - protobuf >= 4.25.0
158
+
159
+ ## Development
160
+
161
+ ### Generating Proto Code
162
+
163
+ ```bash
164
+ # From sdk/python directory
165
+ python -m grpc_tools.protoc \
166
+ --python_out=omium/proto \
167
+ --grpc_python_out=omium/proto \
168
+ --proto_path=../../shared/proto \
169
+ ../../shared/proto/checkpoint/checkpoint.proto
170
+ ```
171
+
172
+ Or use the script:
173
+
174
+ ```bash
175
+ .\scripts\generate-proto.ps1 # Windows
176
+ ./scripts/generate-proto.sh # Linux/Mac
177
+ ```
178
+
179
+ ## License
180
+
181
+ Proprietary - Omium Platform
@@ -0,0 +1,65 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: checkpoint/checkpoint.proto
5
+ # Protobuf Python Version: 5.29.0
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 5,
15
+ 29,
16
+ 0,
17
+ '',
18
+ 'checkpoint/checkpoint.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
26
+ from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
27
+
28
+
29
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1b\x63heckpoint/checkpoint.proto\x12\x13omium.checkpoint.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/protobuf/struct.proto\"\xa6\x03\n\nCheckpoint\x12\n\n\x02id\x18\x01 \x01(\t\x12\x14\n\x0c\x65xecution_id\x18\x02 \x01(\t\x12\x10\n\x08\x61gent_id\x18\x03 \x01(\t\x12\x17\n\x0f\x63heckpoint_name\x18\x04 \x01(\t\x12\x18\n\x10\x63heckpoint_index\x18\x05 \x01(\x05\x12\x18\n\x10state_size_bytes\x18\x06 \x01(\x03\x12\x16\n\x0estate_blob_uri\x18\x07 \x01(\t\x12\x10\n\x08\x63hecksum\x18\x08 \x01(\t\x12\x15\n\rpreconditions\x18\t \x03(\t\x12\x16\n\x0epostconditions\x18\n \x03(\t\x12\x19\n\x11validation_passed\x18\x0b \x01(\x08\x12)\n\x08metadata\x18\x0c \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x18\n\x10\x63ompression_type\x18\r \x01(\t\x12.\n\ncreated_at\x18\x0e \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nexpires_at\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x8b\x02\n\x17\x43reateCheckpointRequest\x12\x14\n\x0c\x65xecution_id\x18\x01 \x01(\t\x12\x10\n\x08\x61gent_id\x18\x02 \x01(\t\x12\x17\n\x0f\x63heckpoint_name\x18\x03 \x01(\t\x12&\n\x05state\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x15\n\rpreconditions\x18\x05 \x03(\t\x12\x16\n\x0epostconditions\x18\x06 \x03(\t\x12)\n\x08metadata\x18\x07 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x18\n\x10\x63ompression_type\x18\x08 \x01(\t\x12\x13\n\x0bttl_seconds\x18\t \x01(\x03\"w\n\x18\x43reateCheckpointResponse\x12\x33\n\ncheckpoint\x18\x01 \x01(\x0b\x32\x1f.omium.checkpoint.v1.Checkpoint\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x15\n\rerror_message\x18\x03 \x01(\t\"D\n\x14GetCheckpointRequest\x12\x15\n\rcheckpoint_id\x18\x01 \x01(\t\x12\x15\n\rinclude_state\x18\x02 \x01(\x08\"\x9c\x01\n\x15GetCheckpointResponse\x12\x33\n\ncheckpoint\x18\x01 \x01(\x0b\x32\x1f.omium.checkpoint.v1.Checkpoint\x12&\n\x05state\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x0f\n\x07success\x18\x03 \x01(\x08\x12\x15\n\rerror_message\x18\x04 \x01(\t\"\x84\x01\n\x16ListCheckpointsRequest\x12\x14\n\x0c\x65xecution_id\x18\x01 \x01(\t\x12\x10\n\x08\x61gent_id\x18\x02 \x01(\t\x12\r\n\x05limit\x18\x03 \x01(\x05\x12\x0e\n\x06offset\x18\x04 \x01(\x05\x12\x10\n\x08order_by\x18\x05 \x01(\t\x12\x11\n\tascending\x18\x06 \x01(\x08\"\x8c\x01\n\x17ListCheckpointsResponse\x12\x34\n\x0b\x63heckpoints\x18\x01 \x03(\x0b\x32\x1f.omium.checkpoint.v1.Checkpoint\x12\x13\n\x0btotal_count\x18\x02 \x01(\x05\x12\x0f\n\x07success\x18\x03 \x01(\x08\x12\x15\n\rerror_message\x18\x04 \x01(\t\"\xb8\x01\n\x1bRollbackToCheckpointRequest\x12\x14\n\x0c\x65xecution_id\x18\x01 \x01(\t\x12\x15\n\rcheckpoint_id\x18\x02 \x01(\t\x12\x14\n\x0ctriggered_by\x18\x03 \x01(\t\x12\x16\n\x0etrigger_reason\x18\x04 \x01(\t\x12\x14\n\x0ctrigger_type\x18\x05 \x01(\t\x12(\n\x07options\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\"\xd1\x01\n\x1cRollbackToCheckpointResponse\x12\x13\n\x0brollback_id\x18\x01 \x01(\t\x12:\n\x11target_checkpoint\x18\x02 \x01(\x0b\x32\x1f.omium.checkpoint.v1.Checkpoint\x12\x0f\n\x07success\x18\x03 \x01(\x08\x12\x15\n\rerror_message\x18\x04 \x01(\t\x12\x38\n\x14\x65stimated_completion\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"?\n\x17\x44\x65leteCheckpointRequest\x12\x15\n\rcheckpoint_id\x18\x01 \x01(\t\x12\r\n\x05\x66orce\x18\x02 \x01(\x08\"B\n\x18\x44\x65leteCheckpointResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x15\n\rerror_message\x18\x02 \x01(\t\"0\n\x17VerifyCheckpointRequest\x12\x15\n\rcheckpoint_id\x18\x01 \x01(\t\"m\n\x18VerifyCheckpointResponse\x12\r\n\x05valid\x18\x01 \x01(\x08\x12\x16\n\x0e\x63hecksum_match\x18\x02 \x01(\t\x12\x13\n\x0b\x62lob_exists\x18\x03 \x01(\x08\x12\x15\n\rerror_message\x18\x04 \x01(\t2\xb9\x05\n\x11\x43heckpointService\x12o\n\x10\x43reateCheckpoint\x12,.omium.checkpoint.v1.CreateCheckpointRequest\x1a-.omium.checkpoint.v1.CreateCheckpointResponse\x12\x66\n\rGetCheckpoint\x12).omium.checkpoint.v1.GetCheckpointRequest\x1a*.omium.checkpoint.v1.GetCheckpointResponse\x12l\n\x0fListCheckpoints\x12+.omium.checkpoint.v1.ListCheckpointsRequest\x1a,.omium.checkpoint.v1.ListCheckpointsResponse\x12{\n\x14RollbackToCheckpoint\x12\x30.omium.checkpoint.v1.RollbackToCheckpointRequest\x1a\x31.omium.checkpoint.v1.RollbackToCheckpointResponse\x12o\n\x10\x44\x65leteCheckpoint\x12,.omium.checkpoint.v1.DeleteCheckpointRequest\x1a-.omium.checkpoint.v1.DeleteCheckpointResponse\x12o\n\x10VerifyCheckpoint\x12,.omium.checkpoint.v1.VerifyCheckpointRequest\x1a-.omium.checkpoint.v1.VerifyCheckpointResponseB7Z5github.com/omium/shared/proto/checkpoint;checkpointpbb\x06proto3')
30
+
31
+ _globals = globals()
32
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
33
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'checkpoint.checkpoint_pb2', _globals)
34
+ if not _descriptor._USE_C_DESCRIPTORS:
35
+ _globals['DESCRIPTOR']._loaded_options = None
36
+ _globals['DESCRIPTOR']._serialized_options = b'Z5github.com/omium/shared/proto/checkpoint;checkpointpb'
37
+ _globals['_CHECKPOINT']._serialized_start=116
38
+ _globals['_CHECKPOINT']._serialized_end=538
39
+ _globals['_CREATECHECKPOINTREQUEST']._serialized_start=541
40
+ _globals['_CREATECHECKPOINTREQUEST']._serialized_end=808
41
+ _globals['_CREATECHECKPOINTRESPONSE']._serialized_start=810
42
+ _globals['_CREATECHECKPOINTRESPONSE']._serialized_end=929
43
+ _globals['_GETCHECKPOINTREQUEST']._serialized_start=931
44
+ _globals['_GETCHECKPOINTREQUEST']._serialized_end=999
45
+ _globals['_GETCHECKPOINTRESPONSE']._serialized_start=1002
46
+ _globals['_GETCHECKPOINTRESPONSE']._serialized_end=1158
47
+ _globals['_LISTCHECKPOINTSREQUEST']._serialized_start=1161
48
+ _globals['_LISTCHECKPOINTSREQUEST']._serialized_end=1293
49
+ _globals['_LISTCHECKPOINTSRESPONSE']._serialized_start=1296
50
+ _globals['_LISTCHECKPOINTSRESPONSE']._serialized_end=1436
51
+ _globals['_ROLLBACKTOCHECKPOINTREQUEST']._serialized_start=1439
52
+ _globals['_ROLLBACKTOCHECKPOINTREQUEST']._serialized_end=1623
53
+ _globals['_ROLLBACKTOCHECKPOINTRESPONSE']._serialized_start=1626
54
+ _globals['_ROLLBACKTOCHECKPOINTRESPONSE']._serialized_end=1835
55
+ _globals['_DELETECHECKPOINTREQUEST']._serialized_start=1837
56
+ _globals['_DELETECHECKPOINTREQUEST']._serialized_end=1900
57
+ _globals['_DELETECHECKPOINTRESPONSE']._serialized_start=1902
58
+ _globals['_DELETECHECKPOINTRESPONSE']._serialized_end=1968
59
+ _globals['_VERIFYCHECKPOINTREQUEST']._serialized_start=1970
60
+ _globals['_VERIFYCHECKPOINTREQUEST']._serialized_end=2018
61
+ _globals['_VERIFYCHECKPOINTRESPONSE']._serialized_start=2020
62
+ _globals['_VERIFYCHECKPOINTRESPONSE']._serialized_end=2129
63
+ _globals['_CHECKPOINTSERVICE']._serialized_start=2132
64
+ _globals['_CHECKPOINTSERVICE']._serialized_end=2829
65
+ # @@protoc_insertion_point(module_scope)