monarchic-agent-protocol 0.1.1

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 9f1fa28f546b3aadb67605f80422df287a1e5aebae416ae9b26cda9dbb652066
4
+ data.tar.gz: 73dba648a8a700d818c1a3d60851e1018e37a94021a541357d72aba645578ae2
5
+ SHA512:
6
+ metadata.gz: bf36f784953d913cab5193c4bbaacecf435b837311643199a39796568b6a3981f0cde7b04565dd837157794e316ce4f45228671e53b15939d0e84a2fba54de29
7
+ data.tar.gz: 3657f7e9e47894dea5048e41ee1e6b42e6ea62e7a544fbc0cb81fe00ffaca6cd9577b778807acc8d1b3b482ec6314cdd8d9110e3b2d0f25577f4512c3acbba7f
data/README.md ADDED
@@ -0,0 +1,307 @@
1
+ # Monarchic AI Protocol
2
+
3
+ This repository defines the shared, versioned protocol for Monarchic AI. It is the compatibility layer between the orchestrator, runner, and agent roles, so the schemas are minimal and stable while allowing forward-compatible extensions.
4
+
5
+ ## Purpose
6
+
7
+ - Provide versioned JSON Schemas for language-agnostic validation.
8
+ - Provide Rust, TypeScript, and Protobuf bindings that mirror the schemas.
9
+ - Keep the protocol small and explicit for v1 interoperability.
10
+
11
+ ## Versioning
12
+
13
+ - Protocol versions live under `schemas/v1/`.
14
+ - Each v1 object requires `version: "v1"`.
15
+ - New versions must be added under a new directory (e.g. `schemas/v2/`) without changing existing v1 files.
16
+
17
+ ## Protocol v1 schema
18
+
19
+ Schema files live under `schemas/v1/`:
20
+
21
+ - `schemas/v1/task.json`
22
+ - `schemas/v1/artifact.json`
23
+ - `schemas/v1/event.json`
24
+ - `schemas/v1/gate_result.json`
25
+ - `schemas/v1/run_context.json`
26
+ - `schemas/v1/agent_role.json`
27
+ - `schemas/v1/schema.json` (index)
28
+ - `schemas/v1/monarchic_agent_protocol.proto`
29
+
30
+ All schemas allow additional properties for forward compatibility.
31
+
32
+ ### AgentRole
33
+
34
+ Enum values:
35
+
36
+ - `product_owner`
37
+ - `project_manager`
38
+ - `dev`
39
+ - `qa`
40
+ - `reviewer`
41
+ - `security`
42
+ - `ops`
43
+
44
+ Example:
45
+
46
+ ```json
47
+ {
48
+ "role": "reviewer"
49
+ }
50
+ ```
51
+
52
+ ### Task
53
+
54
+ Represents work assigned to an agent.
55
+
56
+ Required fields:
57
+
58
+ - `version`: `"v1"`
59
+ - `task_id`: stable identifier
60
+ - `role`: `AgentRole`
61
+ - `goal`: human-readable objective
62
+
63
+ Optional fields:
64
+
65
+ - `inputs`: free-form object
66
+ - `constraints`: free-form object
67
+ - `gates_required`: list of gate names to run (ex: `["qa", "security"]`)
68
+ - `run_context`: `RunContext`
69
+
70
+ Example:
71
+
72
+ ```json
73
+ {
74
+ "version": "v1",
75
+ "task_id": "task-123",
76
+ "role": "dev",
77
+ "goal": "Implement protocol types",
78
+ "inputs": {
79
+ "issue": "https://example.com/issues/42"
80
+ },
81
+ "constraints": {
82
+ "no_network": true
83
+ },
84
+ "gates_required": ["qa", "security"],
85
+ "run_context": {
86
+ "version": "v1",
87
+ "repo": "monarchic-agent-protocol",
88
+ "worktree": "/worktrees/task-123",
89
+ "image": "ghcr.io/monarchic/runner:stable",
90
+ "runner": "vm-runner-01",
91
+ "labels": ["linux", "rust"]
92
+ }
93
+ }
94
+ ```
95
+
96
+ ### RunContext
97
+
98
+ Execution hints for a runner.
99
+
100
+ Required fields:
101
+
102
+ - `version`: `"v1"`
103
+ - `repo`: repository identifier or URL
104
+ - `worktree`: worktree path or identifier
105
+ - `image`: VM/container image reference
106
+ - `runner`: runner identifier
107
+
108
+ Optional fields:
109
+
110
+ - `labels`: list of labels or tags
111
+
112
+ Example:
113
+
114
+ ```json
115
+ {
116
+ "version": "v1",
117
+ "repo": "monarchic-agent-protocol",
118
+ "worktree": "/worktrees/task-123",
119
+ "image": "ghcr.io/monarchic/runner:stable",
120
+ "runner": "vm-runner-01",
121
+ "labels": ["linux", "rust"]
122
+ }
123
+ ```
124
+
125
+ ### Artifact
126
+
127
+ Outputs produced by an agent or runner.
128
+
129
+ Required fields:
130
+
131
+ - `version`: `"v1"`
132
+ - `artifact_id`: stable identifier
133
+ - `type`: artifact type (ex: `patch`, `log`, `report`)
134
+ - `summary`: short description
135
+ - `path`: path or locator for the artifact
136
+ - `task_id`: task identifier that produced it
137
+
138
+ Example:
139
+
140
+ ```json
141
+ {
142
+ "version": "v1",
143
+ "artifact_id": "artifact-987",
144
+ "type": "patch",
145
+ "summary": "Adds v1 protocol schemas",
146
+ "path": "artifacts/task-123/patch.diff",
147
+ "task_id": "task-123"
148
+ }
149
+ ```
150
+
151
+ ### Event
152
+
153
+ Lifecycle state updates.
154
+
155
+ Required fields:
156
+
157
+ - `version`: `"v1"`
158
+ - `event_type`: event category
159
+ - `timestamp`: ISO 8601 timestamp
160
+ - `task_id`: task identifier
161
+ - `status`: state label
162
+
163
+ Optional fields:
164
+
165
+ - `message`: human-readable details
166
+
167
+ Example:
168
+
169
+ ```json
170
+ {
171
+ "version": "v1",
172
+ "event_type": "task_started",
173
+ "timestamp": "2025-01-14T15:04:05Z",
174
+ "task_id": "task-123",
175
+ "status": "running",
176
+ "message": "Runner started VM"
177
+ }
178
+ ```
179
+
180
+ ### GateResult
181
+
182
+ Outcome of QA, review, security, or other gates.
183
+
184
+ Required fields:
185
+
186
+ - `version`: `"v1"`
187
+ - `gate`: gate name
188
+ - `status`: pass/fail or other gate-specific status
189
+
190
+ Optional fields:
191
+
192
+ - `reason`: short explanation
193
+ - `evidence`: free-form object with supporting data
194
+
195
+ Example:
196
+
197
+ ```json
198
+ {
199
+ "version": "v1",
200
+ "gate": "security",
201
+ "status": "pass",
202
+ "reason": "No high or critical findings",
203
+ "evidence": {
204
+ "scanner": "trivy",
205
+ "report_path": "artifacts/task-123/security.json"
206
+ }
207
+ }
208
+ ```
209
+
210
+ ## Rust
211
+
212
+ The crate lives at the repo root with sources under `src/rust/lib.rs`.
213
+
214
+ ```rust
215
+ use monarchic_agent_protocol::{AgentRole, Task, PROTOCOL_VERSION};
216
+
217
+ let task = Task {
218
+ version: PROTOCOL_VERSION.to_string(),
219
+ task_id: "task-123".to_string(),
220
+ role: AgentRole::Dev,
221
+ goal: "Implement protocol".to_string(),
222
+ inputs: None,
223
+ constraints: None,
224
+ gates_required: None,
225
+ run_context: None,
226
+ extensions: Default::default(),
227
+ };
228
+ ```
229
+
230
+ ## TypeScript
231
+
232
+ TypeScript bindings are in `src/ts/index.ts`.
233
+
234
+ ```ts
235
+ import { Task } from "./src/ts/index";
236
+
237
+ const task: Task = {
238
+ version: "v1",
239
+ task_id: "task-123",
240
+ role: "dev",
241
+ goal: "Implement protocol",
242
+ };
243
+ ```
244
+
245
+ ## Go
246
+
247
+ Go module sources live under `src/go` with module path:
248
+
249
+ ```
250
+ github.com/monarchic-ai/monarchic-agent-protocol/src/go
251
+ ```
252
+
253
+ ## Protobuf
254
+
255
+ The v1 protobuf schema lives at `schemas/v1/monarchic_agent_protocol.proto`. It mirrors the JSON schema and uses `google.protobuf.Struct` for free-form objects (`inputs`, `constraints`, `evidence`, `extensions`). Additional JSON properties should be stored in the `extensions` field on each message.
256
+
257
+ Language packages are published per registry. Use the registry package for your language instead of generating local outputs.
258
+
259
+ ## Examples
260
+
261
+ - Rust: `examples/rust/task.rs`
262
+ - TypeScript: `examples/ts/task.ts`
263
+ - Protobuf C++: `examples/proto/cpp/task.cpp`
264
+ - Protobuf Java: `examples/proto/java/TaskExample.java`
265
+ - Protobuf Kotlin: `examples/proto/kotlin/TaskExample.kt`
266
+ - Protobuf C#: `examples/proto/csharp/TaskExample.cs`
267
+ - Protobuf Python: `examples/proto/python/task.py`
268
+ - Protobuf Ruby: `examples/proto/ruby/task.rb`
269
+ - Protobuf Objective-C: `examples/proto/objective-c/TaskExample.m`
270
+ - Protobuf PHP: `examples/proto/php/task.php`
271
+ - Protobuf Dart: `examples/proto/dart/task.dart`
272
+ - Protobuf Rust: `examples/proto/rust/task.rs`
273
+
274
+ ## Python (PyPI)
275
+
276
+ Install the published package and import the generated protobuf bindings:
277
+
278
+ ```python
279
+ from monarchic_agent_protocol import monarchic_agent_protocol_pb2 as map_pb2
280
+ ```
281
+
282
+ ## Validation and tooling
283
+
284
+ - `nix develop` provides Rust, Node, jq, Python `jsonschema`, and `protoc`.
285
+ - `nix flake check` validates JSON schemas, protobuf codegen, and package imports (PyPI + Rust + npm + Go).
286
+ - JSON Schema test: `scripts/test-json-schema.sh`.
287
+ - Protobuf codegen test (all languages): `scripts/test-proto.sh`.
288
+
289
+ ## Nix packages
290
+
291
+ - `packages.default`: Rust crate for protocol types
292
+ - `packages.rs-lib`: Rust crate for protocol types (local)
293
+ - `packages.rs-registry-lib`: Rust crate from crates.io (registry)
294
+ - `packages.py-lib`: installable Python package (local)
295
+ - `packages.py-registry-lib`: PyPI package (registry)
296
+ - `packages.ts-lib`: TypeScript types package (local)
297
+ - `packages.ts-registry-lib`: npm registry package (types-only)
298
+ - `packages.go-lib`: Go module (local)
299
+ - `packages.go-registry-lib`: Go module from GitHub (registry)
300
+ - `packages.rb-lib`: Ruby gem (local)
301
+ - `packages.rb-registry-lib`: Ruby gem from RubyGems (registry)
302
+
303
+ ## CI and releases
304
+
305
+ - `.github/workflows/ci.yml` validates JSON schemas, protobuf codegen, and runs `cargo test`.
306
+ - `.github/workflows/release.yml` publishes language packages.
307
+ - Python publishing is implemented for PyPI; other language registry steps are scaffolded.
@@ -0,0 +1,15 @@
1
+ {
2
+ "$id": "https://monarchic.ai/schema/v1/agent_role.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "title": "AgentRole",
5
+ "type": "string",
6
+ "enum": [
7
+ "product_owner",
8
+ "project_manager",
9
+ "dev",
10
+ "qa",
11
+ "reviewer",
12
+ "security",
13
+ "ops"
14
+ ]
15
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "$id": "https://monarchic.ai/schema/v1/artifact.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "title": "Artifact",
5
+ "type": "object",
6
+ "additionalProperties": true,
7
+ "required": ["version", "artifact_id", "type", "summary", "path", "task_id"],
8
+ "properties": {
9
+ "version": {
10
+ "type": "string",
11
+ "const": "v1"
12
+ },
13
+ "artifact_id": {
14
+ "type": "string"
15
+ },
16
+ "type": {
17
+ "type": "string"
18
+ },
19
+ "summary": {
20
+ "type": "string"
21
+ },
22
+ "path": {
23
+ "type": "string"
24
+ },
25
+ "task_id": {
26
+ "type": "string"
27
+ }
28
+ }
29
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "$id": "https://monarchic.ai/schema/v1/event.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "title": "Event",
5
+ "type": "object",
6
+ "additionalProperties": true,
7
+ "required": ["version", "event_type", "timestamp", "task_id", "status"],
8
+ "properties": {
9
+ "version": {
10
+ "type": "string",
11
+ "const": "v1"
12
+ },
13
+ "event_type": {
14
+ "type": "string"
15
+ },
16
+ "timestamp": {
17
+ "type": "string",
18
+ "format": "date-time"
19
+ },
20
+ "task_id": {
21
+ "type": "string"
22
+ },
23
+ "status": {
24
+ "type": "string"
25
+ },
26
+ "message": {
27
+ "type": "string"
28
+ }
29
+ }
30
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "$id": "https://monarchic.ai/schema/v1/gate_result.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "title": "GateResult",
5
+ "type": "object",
6
+ "additionalProperties": true,
7
+ "required": ["version", "gate", "status"],
8
+ "properties": {
9
+ "version": {
10
+ "type": "string",
11
+ "const": "v1"
12
+ },
13
+ "gate": {
14
+ "type": "string"
15
+ },
16
+ "status": {
17
+ "type": "string"
18
+ },
19
+ "reason": {
20
+ "type": "string"
21
+ },
22
+ "evidence": {
23
+ "type": "object",
24
+ "additionalProperties": true
25
+ }
26
+ }
27
+ }
@@ -0,0 +1,76 @@
1
+ syntax = "proto3";
2
+
3
+ package monarchic.agent_protocol.v1;
4
+
5
+ import "google/protobuf/struct.proto";
6
+
7
+ option java_package = "ai.monarchic.agent_protocol.v1";
8
+ option java_outer_classname = "MonarchicAgentProtocolV1";
9
+ option java_multiple_files = true;
10
+ option csharp_namespace = "Monarchic.AgentProtocol.V1";
11
+ option objc_class_prefix = "MAP";
12
+ option php_namespace = "Monarchic\\AgentProtocol\\V1";
13
+ option php_metadata_namespace = "Monarchic\\AgentProtocol\\V1\\Metadata";
14
+ option go_package = "github.com/monarchic-ai/monarchic-agent-protocol/src/go/monarchic/agent_protocol/v1;agent_protocolv1";
15
+
16
+ enum AgentRole {
17
+ AGENT_ROLE_UNSPECIFIED = 0;
18
+ PRODUCT_OWNER = 1;
19
+ PROJECT_MANAGER = 2;
20
+ DEV = 3;
21
+ QA = 4;
22
+ REVIEWER = 5;
23
+ SECURITY = 6;
24
+ OPS = 7;
25
+ }
26
+
27
+ message Task {
28
+ string version = 1;
29
+ string task_id = 2;
30
+ AgentRole role = 3;
31
+ string goal = 4;
32
+ google.protobuf.Struct inputs = 5;
33
+ google.protobuf.Struct constraints = 6;
34
+ repeated string gates_required = 7;
35
+ RunContext run_context = 8;
36
+ google.protobuf.Struct extensions = 9;
37
+ }
38
+
39
+ message Artifact {
40
+ string version = 1;
41
+ string artifact_id = 2;
42
+ string type = 3;
43
+ string summary = 4;
44
+ string path = 5;
45
+ string task_id = 6;
46
+ google.protobuf.Struct extensions = 7;
47
+ }
48
+
49
+ message Event {
50
+ string version = 1;
51
+ string event_type = 2;
52
+ string timestamp = 3;
53
+ string task_id = 4;
54
+ string status = 5;
55
+ optional string message = 6;
56
+ google.protobuf.Struct extensions = 7;
57
+ }
58
+
59
+ message GateResult {
60
+ string version = 1;
61
+ string gate = 2;
62
+ string status = 3;
63
+ optional string reason = 4;
64
+ google.protobuf.Struct evidence = 5;
65
+ google.protobuf.Struct extensions = 6;
66
+ }
67
+
68
+ message RunContext {
69
+ string version = 1;
70
+ string repo = 2;
71
+ string worktree = 3;
72
+ string image = 4;
73
+ string runner = 5;
74
+ repeated string labels = 6;
75
+ google.protobuf.Struct extensions = 7;
76
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "$id": "https://monarchic.ai/schema/v1/run_context.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "title": "RunContext",
5
+ "type": "object",
6
+ "additionalProperties": true,
7
+ "required": ["version", "repo", "worktree", "image", "runner"],
8
+ "properties": {
9
+ "version": {
10
+ "type": "string",
11
+ "const": "v1"
12
+ },
13
+ "repo": {
14
+ "type": "string"
15
+ },
16
+ "worktree": {
17
+ "type": "string"
18
+ },
19
+ "image": {
20
+ "type": "string"
21
+ },
22
+ "runner": {
23
+ "type": "string"
24
+ },
25
+ "labels": {
26
+ "type": "array",
27
+ "items": {
28
+ "type": "string"
29
+ }
30
+ }
31
+ }
32
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "$id": "https://monarchic.ai/schema/v1/schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "title": "Monarchic AI Protocol v1",
5
+ "oneOf": [
6
+ { "$ref": "task.json" },
7
+ { "$ref": "artifact.json" },
8
+ { "$ref": "event.json" },
9
+ { "$ref": "gate_result.json" },
10
+ { "$ref": "run_context.json" }
11
+ ]
12
+ }
@@ -0,0 +1,40 @@
1
+ {
2
+ "$id": "https://monarchic.ai/schema/v1/task.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "title": "Task",
5
+ "type": "object",
6
+ "additionalProperties": true,
7
+ "required": ["version", "task_id", "role", "goal"],
8
+ "properties": {
9
+ "version": {
10
+ "type": "string",
11
+ "const": "v1"
12
+ },
13
+ "task_id": {
14
+ "type": "string"
15
+ },
16
+ "role": {
17
+ "$ref": "agent_role.json"
18
+ },
19
+ "goal": {
20
+ "type": "string"
21
+ },
22
+ "inputs": {
23
+ "type": "object",
24
+ "additionalProperties": true
25
+ },
26
+ "constraints": {
27
+ "type": "object",
28
+ "additionalProperties": true
29
+ },
30
+ "gates_required": {
31
+ "type": "array",
32
+ "items": {
33
+ "type": "string"
34
+ }
35
+ },
36
+ "run_context": {
37
+ "$ref": "run_context.json"
38
+ }
39
+ }
40
+ }
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "monarchic_agent_protocol_pb"
4
+
5
+ module Monarchic
6
+ module AgentProtocol
7
+ PROTOCOL_VERSION = "v1"
8
+ end
9
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: monarchic_agent_protocol.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'google/protobuf/struct_pb'
8
+
9
+
10
+ descriptor_data = "\n\x1emonarchic_agent_protocol.proto\x12\x1bmonarchic.agent_protocol.v1\x1a\x1cgoogle/protobuf/struct.proto\"\xc6\x02\n\x04Task\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x0f\n\x07task_id\x18\x02 \x01(\t\x12\x34\n\x04role\x18\x03 \x01(\x0e\x32&.monarchic.agent_protocol.v1.AgentRole\x12\x0c\n\x04goal\x18\x04 \x01(\t\x12\'\n\x06inputs\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\x12,\n\x0b\x63onstraints\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x16\n\x0egates_required\x18\x07 \x03(\t\x12<\n\x0brun_context\x18\x08 \x01(\x0b\x32\'.monarchic.agent_protocol.v1.RunContext\x12+\n\nextensions\x18\t \x01(\x0b\x32\x17.google.protobuf.Struct\"\x9b\x01\n\x08\x41rtifact\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x13\n\x0b\x61rtifact_id\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\t\x12\x0f\n\x07summary\x18\x04 \x01(\t\x12\x0c\n\x04path\x18\x05 \x01(\t\x12\x0f\n\x07task_id\x18\x06 \x01(\t\x12+\n\nextensions\x18\x07 \x01(\x0b\x32\x17.google.protobuf.Struct\"\xaf\x01\n\x05\x45vent\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x12\n\nevent_type\x18\x02 \x01(\t\x12\x11\n\ttimestamp\x18\x03 \x01(\t\x12\x0f\n\x07task_id\x18\x04 \x01(\t\x12\x0e\n\x06status\x18\x05 \x01(\t\x12\x14\n\x07message\x18\x06 \x01(\tH\x00\x88\x01\x01\x12+\n\nextensions\x18\x07 \x01(\x0b\x32\x17.google.protobuf.StructB\n\n\x08_message\"\xb3\x01\n\nGateResult\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x0c\n\x04gate\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\x13\n\x06reason\x18\x04 \x01(\tH\x00\x88\x01\x01\x12)\n\x08\x65vidence\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\x12+\n\nextensions\x18\x06 \x01(\x0b\x32\x17.google.protobuf.StructB\t\n\x07_reason\"\x99\x01\n\nRunContext\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x0c\n\x04repo\x18\x02 \x01(\t\x12\x10\n\x08worktree\x18\x03 \x01(\t\x12\r\n\x05image\x18\x04 \x01(\t\x12\x0e\n\x06runner\x18\x05 \x01(\t\x12\x0e\n\x06labels\x18\x06 \x03(\t\x12+\n\nextensions\x18\x07 \x01(\x0b\x32\x17.google.protobuf.Struct*\x85\x01\n\tAgentRole\x12\x1a\n\x16\x41GENT_ROLE_UNSPECIFIED\x10\x00\x12\x11\n\rPRODUCT_OWNER\x10\x01\x12\x13\n\x0fPROJECT_MANAGER\x10\x02\x12\x07\n\x03\x44\x45V\x10\x03\x12\x06\n\x02QA\x10\x04\x12\x0c\n\x08REVIEWER\x10\x05\x12\x0c\n\x08SECURITY\x10\x06\x12\x07\n\x03OPS\x10\x07\x42\x88\x02\n\x1e\x61i.monarchic.agent_protocol.v1B\x18MonarchicAgentProtocolV1P\x01Zdgithub.com/monarchic-ai/monarchic-agent-protocol/src/go/monarchic/agent_protocol/v1;agent_protocolv1\xa2\x02\x03MAP\xaa\x02\x1aMonarchic.AgentProtocol.V1\xca\x02\x1aMonarchic\\AgentProtocol\\V1\xe2\x02#Monarchic\\AgentProtocol\\V1\\Metadatab\x06proto3"
11
+
12
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
13
+ pool.add_serialized_file(descriptor_data)
14
+
15
+ module Monarchic
16
+ module AgentProtocol
17
+ module V1
18
+ Task = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.Task").msgclass
19
+ Artifact = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.Artifact").msgclass
20
+ Event = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.Event").msgclass
21
+ GateResult = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.GateResult").msgclass
22
+ RunContext = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.RunContext").msgclass
23
+ AgentRole = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.AgentRole").enummodule
24
+ end
25
+ end
26
+ end
metadata ADDED
@@ -0,0 +1,72 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: monarchic-agent-protocol
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ platform: ruby
6
+ authors:
7
+ - Monarchic AI
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2026-02-10 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: google-protobuf
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '3.25'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '5.0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '3.25'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '5.0'
33
+ description: Ruby bindings and protobuf types for the Monarchic Agent Protocol.
34
+ email:
35
+ executables: []
36
+ extensions: []
37
+ extra_rdoc_files: []
38
+ files:
39
+ - README.md
40
+ - schemas/v1/agent_role.json
41
+ - schemas/v1/artifact.json
42
+ - schemas/v1/event.json
43
+ - schemas/v1/gate_result.json
44
+ - schemas/v1/monarchic_agent_protocol.proto
45
+ - schemas/v1/run_context.json
46
+ - schemas/v1/schema.json
47
+ - schemas/v1/task.json
48
+ - src/ruby/monarchic_agent_protocol.rb
49
+ - src/ruby/monarchic_agent_protocol_pb.rb
50
+ homepage: https://github.com/monarchic-ai/monarchic-agent-protocol
51
+ licenses: []
52
+ metadata: {}
53
+ post_install_message:
54
+ rdoc_options: []
55
+ require_paths:
56
+ - src/ruby
57
+ required_ruby_version: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ required_rubygems_version: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
67
+ requirements: []
68
+ rubygems_version: 3.5.22
69
+ signing_key:
70
+ specification_version: 4
71
+ summary: Monarchic Agent Protocol protobuf types
72
+ test_files: []