@atlastodo/client-core 0.1.13 → 0.1.14-rc.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.
@@ -1,52 +1,349 @@
1
1
  {
2
- "_doc": "What the bundled app manifests (manifests/*.json) decide, asserted by packages/client-core/src/fieldPolicy.test.ts and crates/atlas-client (field_policy.rs). `fields`: whether a value of `entity`.`field` leaves the device end-to-end encrypted (`encrypted`); a kind no manifest names, and any field a manifest does not list, is encrypted. Todo keeps only the ids the server routes and checks access by in plaintext; journal and vault keep nothing, so the server sees no vault item's type, name, folder, URL, timestamp or secret. `token_policies`: the API token policy of a token for `apps`, the strictest of their manifests' `api_tokens` (`max_lifetime_days` null is no limit; `exclusive`: the server refuses a token naming such an app with any other).",
2
+ "_doc": "What the bundled app manifests (manifests/*.json) decide, asserted by packages/client-core/src/fieldPolicy.test.ts and crates/atlas-client (field_policy.rs). `fields`, per real kind and field: the wire kind it travels as since sync protocol 7 (`wire`, null for a kind no manifest names), whether its name goes on the wire instead of an opaque tag (`public`), whether its value is encrypted (`encrypted`), and whether protocol 6 encrypted it (`legacy_encrypted`, which reading rows written before protocol 7 needs). Only a project's deleted_at/archived_at (owner-only, still encrypted) and an attachment's blob_sha/thumb_sha (plaintext blob addresses) are public; journal and vault keep nothing public or plaintext, so the server sees no vault item's type, name, folder, URL, timestamp or secret. `token_policies`: the API token policy of a token for `apps`, the strictest of their manifests' `api_tokens` (`max_lifetime_days` null is no limit; `exclusive`: the server refuses a token naming such an app with any other).",
3
3
  "fields": [
4
- { "entity": "task", "field": "title", "encrypted": true },
5
- { "entity": "task", "field": "project_id", "encrypted": false },
6
- { "entity": "task", "field": "assignee_id", "encrypted": false },
7
- { "entity": "task", "field": "a_field_nobody_declared", "encrypted": true },
8
- { "entity": "comment", "field": "task_id", "encrypted": false },
9
- { "entity": "attachment", "field": "blob_sha", "encrypted": false },
10
- { "entity": "project_member", "field": "anything", "encrypted": false },
11
- { "entity": "journal.entry", "field": "body", "encrypted": true },
12
- { "entity": "journal.entry", "field": "date", "encrypted": true },
13
- { "entity": "journal.entry", "field": "project_id", "encrypted": true },
14
- { "entity": "vault.item", "field": "type", "encrypted": true },
15
- { "entity": "vault.item", "field": "name", "encrypted": true },
16
- { "entity": "vault.item", "field": "fields", "encrypted": true },
17
- { "entity": "vault.item", "field": "urls", "encrypted": true },
18
- { "entity": "vault.item", "field": "notes", "encrypted": true },
19
- { "entity": "vault.item", "field": "tags", "encrypted": true },
20
- { "entity": "vault.item", "field": "folder", "encrypted": true },
21
- { "entity": "vault.item", "field": "favorite", "encrypted": true },
22
- { "entity": "vault.item", "field": "history", "encrypted": true },
23
- { "entity": "vault.item", "field": "created_at", "encrypted": true },
24
- { "entity": "vault.item", "field": "updated_at", "encrypted": true },
25
- { "entity": "vault.item", "field": "deleted_at", "encrypted": true },
26
- { "entity": "vault.item", "field": "project_id", "encrypted": true },
27
- { "entity": "vault.item", "field": "task_id", "encrypted": true },
28
- { "entity": "vault.folder", "field": "name", "encrypted": true },
29
- { "entity": "vault.folder", "field": "deleted_at", "encrypted": true },
30
- { "entity": "vault.preference", "field": "value", "encrypted": true },
31
- { "entity": "notes.note", "field": "body", "encrypted": true },
32
- { "entity": "notes.note", "field": "project_id", "encrypted": true }
4
+ {
5
+ "entity": "task",
6
+ "field": "title",
7
+ "wire": "todo.sealed",
8
+ "public": false,
9
+ "encrypted": true,
10
+ "legacy_encrypted": true
11
+ },
12
+ {
13
+ "entity": "task",
14
+ "field": "project_id",
15
+ "wire": "todo.sealed",
16
+ "public": false,
17
+ "encrypted": true,
18
+ "legacy_encrypted": false
19
+ },
20
+ {
21
+ "entity": "task",
22
+ "field": "assignee_id",
23
+ "wire": "todo.sealed",
24
+ "public": false,
25
+ "encrypted": true,
26
+ "legacy_encrypted": false
27
+ },
28
+ {
29
+ "entity": "task",
30
+ "field": "a_field_nobody_declared",
31
+ "wire": "todo.sealed",
32
+ "public": false,
33
+ "encrypted": true,
34
+ "legacy_encrypted": true
35
+ },
36
+ {
37
+ "entity": "comment",
38
+ "field": "task_id",
39
+ "wire": "todo.sealed",
40
+ "public": false,
41
+ "encrypted": true,
42
+ "legacy_encrypted": false
43
+ },
44
+ {
45
+ "entity": "attachment",
46
+ "field": "blob_sha",
47
+ "wire": "todo.sealed",
48
+ "public": true,
49
+ "encrypted": false,
50
+ "legacy_encrypted": false
51
+ },
52
+ {
53
+ "entity": "project_member",
54
+ "field": "anything",
55
+ "wire": "project_member",
56
+ "public": true,
57
+ "encrypted": false,
58
+ "legacy_encrypted": false
59
+ },
60
+ {
61
+ "entity": "journal.entry",
62
+ "field": "body",
63
+ "wire": "journal.sealed",
64
+ "public": false,
65
+ "encrypted": true,
66
+ "legacy_encrypted": true
67
+ },
68
+ {
69
+ "entity": "journal.entry",
70
+ "field": "date",
71
+ "wire": "journal.sealed",
72
+ "public": false,
73
+ "encrypted": true,
74
+ "legacy_encrypted": true
75
+ },
76
+ {
77
+ "entity": "journal.entry",
78
+ "field": "project_id",
79
+ "wire": "journal.sealed",
80
+ "public": false,
81
+ "encrypted": true,
82
+ "legacy_encrypted": true
83
+ },
84
+ {
85
+ "entity": "vault.item",
86
+ "field": "type",
87
+ "wire": "vault.sealed",
88
+ "public": false,
89
+ "encrypted": true,
90
+ "legacy_encrypted": true
91
+ },
92
+ {
93
+ "entity": "vault.item",
94
+ "field": "name",
95
+ "wire": "vault.sealed",
96
+ "public": false,
97
+ "encrypted": true,
98
+ "legacy_encrypted": true
99
+ },
100
+ {
101
+ "entity": "vault.item",
102
+ "field": "fields",
103
+ "wire": "vault.sealed",
104
+ "public": false,
105
+ "encrypted": true,
106
+ "legacy_encrypted": true
107
+ },
108
+ {
109
+ "entity": "vault.item",
110
+ "field": "urls",
111
+ "wire": "vault.sealed",
112
+ "public": false,
113
+ "encrypted": true,
114
+ "legacy_encrypted": true
115
+ },
116
+ {
117
+ "entity": "vault.item",
118
+ "field": "notes",
119
+ "wire": "vault.sealed",
120
+ "public": false,
121
+ "encrypted": true,
122
+ "legacy_encrypted": true
123
+ },
124
+ {
125
+ "entity": "vault.item",
126
+ "field": "tags",
127
+ "wire": "vault.sealed",
128
+ "public": false,
129
+ "encrypted": true,
130
+ "legacy_encrypted": true
131
+ },
132
+ {
133
+ "entity": "vault.item",
134
+ "field": "folder",
135
+ "wire": "vault.sealed",
136
+ "public": false,
137
+ "encrypted": true,
138
+ "legacy_encrypted": true
139
+ },
140
+ {
141
+ "entity": "vault.item",
142
+ "field": "favorite",
143
+ "wire": "vault.sealed",
144
+ "public": false,
145
+ "encrypted": true,
146
+ "legacy_encrypted": true
147
+ },
148
+ {
149
+ "entity": "vault.item",
150
+ "field": "history",
151
+ "wire": "vault.sealed",
152
+ "public": false,
153
+ "encrypted": true,
154
+ "legacy_encrypted": true
155
+ },
156
+ {
157
+ "entity": "vault.item",
158
+ "field": "created_at",
159
+ "wire": "vault.sealed",
160
+ "public": false,
161
+ "encrypted": true,
162
+ "legacy_encrypted": true
163
+ },
164
+ {
165
+ "entity": "vault.item",
166
+ "field": "updated_at",
167
+ "wire": "vault.sealed",
168
+ "public": false,
169
+ "encrypted": true,
170
+ "legacy_encrypted": true
171
+ },
172
+ {
173
+ "entity": "vault.item",
174
+ "field": "deleted_at",
175
+ "wire": "vault.sealed",
176
+ "public": false,
177
+ "encrypted": true,
178
+ "legacy_encrypted": true
179
+ },
180
+ {
181
+ "entity": "vault.item",
182
+ "field": "project_id",
183
+ "wire": "vault.sealed",
184
+ "public": false,
185
+ "encrypted": true,
186
+ "legacy_encrypted": true
187
+ },
188
+ {
189
+ "entity": "vault.item",
190
+ "field": "task_id",
191
+ "wire": "vault.sealed",
192
+ "public": false,
193
+ "encrypted": true,
194
+ "legacy_encrypted": true
195
+ },
196
+ {
197
+ "entity": "vault.folder",
198
+ "field": "name",
199
+ "wire": "vault.sealed",
200
+ "public": false,
201
+ "encrypted": true,
202
+ "legacy_encrypted": true
203
+ },
204
+ {
205
+ "entity": "vault.folder",
206
+ "field": "deleted_at",
207
+ "wire": "vault.sealed",
208
+ "public": false,
209
+ "encrypted": true,
210
+ "legacy_encrypted": true
211
+ },
212
+ {
213
+ "entity": "vault.preference",
214
+ "field": "value",
215
+ "wire": "vault.sealed",
216
+ "public": false,
217
+ "encrypted": true,
218
+ "legacy_encrypted": true
219
+ },
220
+ {
221
+ "entity": "notes.note",
222
+ "field": "body",
223
+ "wire": null,
224
+ "public": false,
225
+ "encrypted": true,
226
+ "legacy_encrypted": true
227
+ },
228
+ {
229
+ "entity": "notes.note",
230
+ "field": "project_id",
231
+ "wire": null,
232
+ "public": false,
233
+ "encrypted": true,
234
+ "legacy_encrypted": true
235
+ },
236
+ {
237
+ "entity": "project",
238
+ "field": "name",
239
+ "wire": "todo.project",
240
+ "public": false,
241
+ "encrypted": true,
242
+ "legacy_encrypted": true
243
+ },
244
+ {
245
+ "entity": "project",
246
+ "field": "archived_at",
247
+ "wire": "todo.project",
248
+ "public": true,
249
+ "encrypted": true,
250
+ "legacy_encrypted": true
251
+ },
252
+ {
253
+ "entity": "project",
254
+ "field": "deleted_at",
255
+ "wire": "todo.project",
256
+ "public": true,
257
+ "encrypted": true,
258
+ "legacy_encrypted": true
259
+ },
260
+ {
261
+ "entity": "attachment",
262
+ "field": "thumb_sha",
263
+ "wire": "todo.sealed",
264
+ "public": true,
265
+ "encrypted": false,
266
+ "legacy_encrypted": false
267
+ },
268
+ {
269
+ "entity": "attachment",
270
+ "field": "meta",
271
+ "wire": "todo.sealed",
272
+ "public": false,
273
+ "encrypted": true,
274
+ "legacy_encrypted": false
275
+ },
276
+ {
277
+ "entity": "attachment",
278
+ "field": "wrapped_key",
279
+ "wire": "todo.sealed",
280
+ "public": false,
281
+ "encrypted": true,
282
+ "legacy_encrypted": false
283
+ },
284
+ {
285
+ "entity": "activity",
286
+ "field": "actor_id",
287
+ "wire": "todo.sealed",
288
+ "public": false,
289
+ "encrypted": true,
290
+ "legacy_encrypted": false
291
+ },
292
+ {
293
+ "entity": "section",
294
+ "field": "project_id",
295
+ "wire": "todo.sealed",
296
+ "public": false,
297
+ "encrypted": true,
298
+ "legacy_encrypted": false
299
+ }
33
300
  ],
34
301
  "token_policies": [
35
302
  {
36
- "apps": ["todo"],
37
- "policy": { "expiry_required": false, "max_lifetime_days": null, "write_by_default": true, "exclusive": false }
303
+ "apps": [
304
+ "todo"
305
+ ],
306
+ "policy": {
307
+ "expiry_required": false,
308
+ "max_lifetime_days": null,
309
+ "write_by_default": true,
310
+ "exclusive": false
311
+ }
38
312
  },
39
313
  {
40
- "apps": ["journal"],
41
- "policy": { "expiry_required": false, "max_lifetime_days": null, "write_by_default": true, "exclusive": false }
314
+ "apps": [
315
+ "journal"
316
+ ],
317
+ "policy": {
318
+ "expiry_required": false,
319
+ "max_lifetime_days": null,
320
+ "write_by_default": true,
321
+ "exclusive": false
322
+ }
42
323
  },
43
324
  {
44
- "apps": ["vault"],
45
- "policy": { "expiry_required": true, "max_lifetime_days": 365, "write_by_default": false, "exclusive": true }
325
+ "apps": [
326
+ "vault"
327
+ ],
328
+ "policy": {
329
+ "expiry_required": true,
330
+ "max_lifetime_days": 365,
331
+ "write_by_default": false,
332
+ "exclusive": true
333
+ }
46
334
  },
47
335
  {
48
- "apps": ["todo", "journal", "vault"],
49
- "policy": { "expiry_required": true, "max_lifetime_days": 365, "write_by_default": false, "exclusive": true }
336
+ "apps": [
337
+ "todo",
338
+ "journal",
339
+ "vault"
340
+ ],
341
+ "policy": {
342
+ "expiry_required": true,
343
+ "max_lifetime_days": 365,
344
+ "write_by_default": false,
345
+ "exclusive": true
346
+ }
50
347
  }
51
348
  ]
52
349
  }