Skip to repository content

tenant.openagents/omega

No repository description is available.

OpenAgents Git authority 2026-07-28T05:20:42.169Z Public web read
NIP-34 coordinate30617:7649603503856e5148d571eac2766b288a8ff1e9e35d380337a1d2b0015b4f92:omega
MaintainersHidden in public view
References2 branches · 1 tag
Read-only clonegit clone https://openagents.com/git/tenant.openagents/omega.git
Browse files

worktree.proto

232 lines · 4.8 KB · text
1syntax = "proto3";
2package zed.messages;
3
4message Timestamp {
5  uint64 seconds = 1;
6  uint32 nanos = 2;
7}
8
9message File {
10  uint64 worktree_id = 1;
11  optional uint64 entry_id = 2;
12  string path = 3;
13  Timestamp mtime = 4;
14  bool is_deleted = 5;
15  bool is_historic = 6;
16}
17
18message Entry {
19  uint64 id = 1;
20  bool is_dir = 2;
21  string path = 3;
22  uint64 inode = 4;
23  Timestamp mtime = 5;
24  bool is_ignored = 7;
25  bool is_external = 8;
26  reserved 6;
27  reserved 9;
28  bool is_fifo = 10;
29  optional uint64 size = 11;
30  optional string canonical_path = 12;
31  bool is_hidden = 13;
32}
33
34message AddWorktree {
35  string path = 1;
36  uint64 project_id = 2;
37  bool visible = 3;
38}
39
40message AddWorktreeResponse {
41  uint64 worktree_id = 1;
42  string canonicalized_path = 2;
43  optional string root_repo_common_dir = 3;
44  bool root_repo_is_linked_worktree = 4;
45}
46
47message RemoveWorktree {
48  uint64 worktree_id = 1;
49}
50
51message GetPathMetadata {
52  uint64 project_id = 1;
53  string path = 2;
54}
55
56message GetPathMetadataResponse {
57  bool exists = 1;
58  string path = 2;
59  bool is_dir = 3;
60}
61
62message WorktreeMetadata {
63  uint64 id = 1;
64  string root_name = 2;
65  bool visible = 3;
66  string abs_path = 4;
67  optional string root_repo_common_dir = 5;
68  bool root_repo_is_linked_worktree = 6;
69}
70
71message ProjectPath {
72  uint64 worktree_id = 1;
73  string path = 2;
74}
75
76message ListRemoteDirectoryConfig {
77  bool is_dir = 1;
78}
79
80message ListRemoteDirectory {
81  uint64 dev_server_id = 1;
82  string path = 2;
83  ListRemoteDirectoryConfig config = 3;
84}
85
86message EntryInfo {
87  bool is_dir = 1;
88}
89
90message ListRemoteDirectoryResponse {
91  repeated string entries = 1;
92  repeated EntryInfo entry_info = 2;
93}
94
95message CreateProjectEntry {
96  uint64 project_id = 1;
97  uint64 worktree_id = 2;
98  string path = 3;
99  bool is_directory = 4;
100  optional bytes content = 5;
101}
102
103message RenameProjectEntry {
104  uint64 project_id = 1;
105  uint64 entry_id = 2;
106  string new_path = 3;
107  uint64 new_worktree_id = 4;
108}
109
110message CopyProjectEntry {
111  uint64 project_id = 1;
112  uint64 entry_id = 2;
113  string new_path = 3;
114  uint64 new_worktree_id = 5;
115  reserved 4;
116}
117
118message DeleteProjectEntry {
119  uint64 project_id = 1;
120  uint64 entry_id = 2;
121  // Deprecated in favor of `TrashProjectEntry`.
122  //
123  // TODO(yara|dino): once all supported peers use `TrashProjectEntry`, remove
124  // this field and replace it with `reserved 3;` so the tag is never reused.
125  bool use_trash = 3 [deprecated = true];
126}
127
128message TrashProjectEntry {
129  uint64 project_id = 1;
130  uint64 entry_id = 2;
131}
132
133message RestoreProjectEntry {
134  uint64 project_id = 1;
135  uint64 worktree_id = 2;
136  uint64 trash_id = 3;
137}
138
139message ExpandProjectEntry {
140  uint64 project_id = 1;
141  uint64 entry_id = 2;
142}
143
144message ExpandProjectEntryResponse {
145  uint64 worktree_scan_id = 1;
146}
147
148message ExpandAllForProjectEntry {
149  uint64 project_id = 1;
150  uint64 entry_id = 2;
151}
152
153message ExpandAllForProjectEntryResponse {
154  uint64 worktree_scan_id = 1;
155}
156
157// TODO(yara|dino): split into per-operation response messages (e.g.
158// `CreateProjectEntryResponse`, `CopyProjectEntryResponse`,
159// `DeleteProjectEntryResponse`, `RenameProjectEntryResponse`) for consistency
160// with the dedicated `TrashProjectEntryResponse` and
161// `RestoreProjectEntryResponse` responses below.
162// This generic message is shared by `CreateProjectEntry`, `CopyProjectEntry`,
163// `DeleteProjectEntry`, and `RenameProjectEntry`, so `entry` doesn't fit all of
164// them. For example, `DeleteProjectEntry` notably never populates it.
165message ProjectEntryResponse {
166  optional Entry entry = 1;
167  uint64 worktree_scan_id = 2;
168}
169
170message TrashProjectEntryResponse {
171  uint64 trash_id = 1;
172  uint64 worktree_scan_id = 2;
173}
174
175message RestoreProjectEntryResponse {
176  Entry entry = 1;
177  uint64 worktree_scan_id = 2;
178}
179
180message UpdateWorktreeSettings {
181  uint64 project_id = 1;
182  uint64 worktree_id = 2;
183  string path = 3;
184  optional string content = 4;
185  optional LocalSettingsKind kind = 5;
186  optional bool outside_worktree = 6;
187}
188
189enum LocalSettingsKind {
190  Settings = 0;
191  Tasks = 1;
192  Editorconfig = 2;
193  Debug = 3;
194}
195
196message UpdateUserSettings {
197  uint64 project_id = 1;
198  string contents = 2;
199}
200
201message TrustWorktrees {
202  uint64 project_id = 1;
203  repeated PathTrust trusted_paths = 2;
204}
205
206message PathTrust {
207  oneof content {
208    uint64 worktree_id = 2;
209    string abs_path = 3;
210  }
211
212  reserved 1;
213}
214
215message RestrictWorktrees {
216  uint64 project_id = 1;
217  repeated uint64 worktree_ids = 3;
218
219  reserved 2;
220}
221
222// Request from the remote server to the client to allocate a new worktree ID.
223// This allows the client to maintain a single WorktreeIdCounter that prevents
224// ID collisions when connected to multiple remote servers.
225message AllocateWorktreeId {
226  uint64 project_id = 1;
227}
228
229message AllocateWorktreeIdResponse {
230  uint64 worktree_id = 1;
231}
232
Served at tenant.openagents/omega Member data and write actions are omitted.