@gmickel/gno 2.3.3 → 2.5.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.
Files changed (117) hide show
  1. package/README.md +22 -3
  2. package/assets/skill/SKILL.md +53 -0
  3. package/assets/skill/cli-reference.md +29 -0
  4. package/assets/skill/examples.md +30 -0
  5. package/assets/skill/mcp-reference.md +26 -0
  6. package/assets/spa-production.json.gz +0 -0
  7. package/browser-extension/artifacts/{gno-browser-clipper-v2.3.3.zip → gno-browser-clipper-v2.5.1.zip} +0 -0
  8. package/browser-extension/artifacts/gno-browser-clipper-v2.5.1.zip.sha256 +1 -0
  9. package/browser-extension/dist/manifest.json +1 -1
  10. package/package.json +1 -1
  11. package/spec/cli.md +41 -0
  12. package/spec/compiled-context.md +68 -0
  13. package/spec/db/schema.sql +2 -0
  14. package/spec/evals.md +48 -0
  15. package/spec/mcp.md +37 -0
  16. package/spec/output-schemas/ask.schema.json +12 -0
  17. package/spec/output-schemas/compiled-context-check.schema.json +44 -0
  18. package/spec/output-schemas/compiled-context-file.schema.json +165 -0
  19. package/spec/output-schemas/compiled-context-preview.schema.json +142 -0
  20. package/spec/output-schemas/context-capsule-v1.schema.json +205 -32
  21. package/spec/output-schemas/context-capsule-verification.schema.json +32 -9
  22. package/spec/output-schemas/evidence-fixtures.schema.json +176 -0
  23. package/spec/output-schemas/evidence-report.schema.json +322 -0
  24. package/spec/output-schemas/evidence-run.schema.json +277 -0
  25. package/spec/output-schemas/metadata-predicate.schema.json +460 -0
  26. package/spec/output-schemas/retrieval-trace-filters.schema.json +13 -4
  27. package/spec/output-schemas/search-results.schema.json +12 -0
  28. package/spec/output-schemas/status.schema.json +37 -6
  29. package/src/app/compiled-context-files.ts +361 -0
  30. package/src/app/compiled-context.ts +240 -0
  31. package/src/app/context-runtime-contract.ts +33 -2
  32. package/src/app/context-runtime-input.ts +17 -0
  33. package/src/app/context-runtime-types.ts +2 -0
  34. package/src/app/context-runtime.ts +27 -3
  35. package/src/app/context-surface.ts +7 -0
  36. package/src/app/verified-ask.ts +1 -0
  37. package/src/cli/commands/ask.ts +1 -0
  38. package/src/cli/commands/audit.ts +4 -0
  39. package/src/cli/commands/context-build.ts +1 -0
  40. package/src/cli/commands/context-compiled.ts +136 -0
  41. package/src/cli/commands/search.ts +1 -0
  42. package/src/cli/commands/status.ts +10 -0
  43. package/src/cli/errors.ts +10 -3
  44. package/src/cli/options.ts +19 -0
  45. package/src/cli/program.ts +82 -0
  46. package/src/converters/types.ts +2 -0
  47. package/src/core/compiled-context.ts +254 -0
  48. package/src/core/context-budget.ts +2 -10
  49. package/src/core/context-capsule-retrieval-schema.ts +8 -0
  50. package/src/core/context-capsule-schema.ts +47 -3
  51. package/src/core/context-capsule-validation.ts +14 -2
  52. package/src/core/context-capsule-verification.ts +1 -0
  53. package/src/core/context-capsule.ts +16 -2
  54. package/src/core/context-compiler.ts +3 -0
  55. package/src/core/file-lock.ts +22 -5
  56. package/src/core/folder-setup-planning.ts +2 -1
  57. package/src/core/network-boundary-inventory.ts +8 -0
  58. package/src/core/record-metadata.ts +1 -1
  59. package/src/core/retrieval-replay-candidate.ts +5 -0
  60. package/src/core/retrieval-trace-filter-normalization.ts +4 -0
  61. package/src/core/retrieval-trace-request.ts +1 -0
  62. package/src/core/retrieval-trace-session.ts +5 -1
  63. package/src/core/retrieval-trace.ts +2 -0
  64. package/src/core/setup-receipt.ts +27 -20
  65. package/src/core/typed-metadata.ts +228 -0
  66. package/src/core/validation.ts +9 -2
  67. package/src/core/windows-private-path.ts +96 -0
  68. package/src/index.ts +2 -2
  69. package/src/ingestion/compiled-context.ts +15 -0
  70. package/src/ingestion/record-adapter-canonical.ts +13 -2
  71. package/src/ingestion/record-container.ts +9 -0
  72. package/src/ingestion/sync.ts +51 -9
  73. package/src/ingestion/typed-metadata.ts +55 -0
  74. package/src/ingestion/walker.ts +5 -4
  75. package/src/llm/nodeLlamaCpp/simulator-install.ts +6 -2
  76. package/src/mcp/http-egress.ts +11 -3
  77. package/src/mcp/retrieval-warnings.ts +24 -0
  78. package/src/mcp/tools/ask.ts +23 -2
  79. package/src/mcp/tools/context.ts +47 -2
  80. package/src/mcp/tools/index.ts +58 -1
  81. package/src/mcp/tools/query.ts +16 -1
  82. package/src/mcp/tools/search.ts +12 -1
  83. package/src/mcp/tools/status.ts +4 -0
  84. package/src/mcp/tools/vsearch.ts +12 -1
  85. package/src/pipeline/diagnose.ts +6 -0
  86. package/src/pipeline/filters.ts +65 -0
  87. package/src/pipeline/graph-retrieval.ts +9 -1
  88. package/src/pipeline/hybrid.ts +22 -2
  89. package/src/pipeline/search.ts +11 -0
  90. package/src/pipeline/types.ts +7 -1
  91. package/src/pipeline/vsearch.ts +21 -1
  92. package/src/sdk/client.ts +98 -3
  93. package/src/sdk/index.ts +11 -0
  94. package/src/sdk/types.ts +35 -1
  95. package/src/serve/compiled-context.ts +84 -0
  96. package/src/serve/context-capsule.ts +1 -0
  97. package/src/serve/public/app.tsx +12 -1
  98. package/src/serve/public/components/MetadataFilter.tsx +186 -0
  99. package/src/serve/public/globals.built.css +1 -1
  100. package/src/serve/public/lib/metadata-filter.ts +28 -0
  101. package/src/serve/public/lib/retrieval-filters.ts +3 -0
  102. package/src/serve/public/lib/workspace-tabs.ts +2 -0
  103. package/src/serve/public/pages/Ask.tsx +48 -3
  104. package/src/serve/public/pages/CompiledContext.tsx +364 -0
  105. package/src/serve/public/pages/Dashboard.tsx +7 -0
  106. package/src/serve/public/pages/DocView.tsx +33 -0
  107. package/src/serve/public/pages/Search.tsx +44 -1
  108. package/src/serve/routes/api.ts +50 -0
  109. package/src/serve/server.ts +43 -2
  110. package/src/serve/spa-production-build.ts +6 -5
  111. package/src/store/migrations/030-typed-metadata.ts +13 -0
  112. package/src/store/migrations/index.ts +2 -0
  113. package/src/store/sqlite/adapter.ts +69 -5
  114. package/src/store/sqlite/eligibility.ts +12 -0
  115. package/src/store/sqlite/metadata-predicate.ts +71 -0
  116. package/src/store/types.ts +11 -0
  117. package/browser-extension/artifacts/gno-browser-clipper-v2.3.3.zip.sha256 +0 -1
@@ -0,0 +1,165 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "status": {
6
+ "type": "string",
7
+ "enum": ["written", "unchanged"]
8
+ },
9
+ "outputPath": {
10
+ "type": "string",
11
+ "minLength": 1
12
+ },
13
+ "capsulePath": {
14
+ "type": "string",
15
+ "minLength": 1
16
+ },
17
+ "sidecarPath": {
18
+ "type": "string",
19
+ "minLength": 1
20
+ },
21
+ "preview": {
22
+ "type": "object",
23
+ "properties": {
24
+ "schemaVersion": {
25
+ "type": "string",
26
+ "const": "1.0"
27
+ },
28
+ "rendererVersion": {
29
+ "type": "string",
30
+ "const": "1"
31
+ },
32
+ "capsuleId": {
33
+ "type": "string",
34
+ "pattern": "^[a-f0-9]{64}$"
35
+ },
36
+ "markdown": {
37
+ "type": "string"
38
+ },
39
+ "digest": {
40
+ "type": "string",
41
+ "pattern": "^[a-f0-9]{64}$"
42
+ },
43
+ "verificationDigest": {
44
+ "type": "string",
45
+ "pattern": "^[a-f0-9]{64}$"
46
+ },
47
+ "lineageDigest": {
48
+ "type": "string",
49
+ "pattern": "^[a-f0-9]{64}$"
50
+ },
51
+ "budget": {
52
+ "type": "object",
53
+ "properties": {
54
+ "requestedTokens": {
55
+ "type": "integer",
56
+ "exclusiveMinimum": 0,
57
+ "maximum": 1000000
58
+ },
59
+ "requestedBytes": {
60
+ "type": "integer",
61
+ "exclusiveMinimum": 0,
62
+ "maximum": 4194304
63
+ },
64
+ "usedTokens": {
65
+ "type": "integer",
66
+ "minimum": 0,
67
+ "maximum": 9007199254740991
68
+ },
69
+ "usedBytes": {
70
+ "type": "integer",
71
+ "minimum": 0,
72
+ "maximum": 9007199254740991
73
+ },
74
+ "estimator": {
75
+ "type": "string",
76
+ "enum": ["unicode_conservative", "active_tokenizer"]
77
+ },
78
+ "tokenizerFingerprint": {
79
+ "anyOf": [
80
+ {
81
+ "type": "string",
82
+ "pattern": "^[a-f0-9]{64}$"
83
+ },
84
+ {
85
+ "type": "null"
86
+ }
87
+ ]
88
+ }
89
+ },
90
+ "required": [
91
+ "requestedTokens",
92
+ "requestedBytes",
93
+ "usedTokens",
94
+ "usedBytes",
95
+ "estimator",
96
+ "tokenizerFingerprint"
97
+ ],
98
+ "additionalProperties": false
99
+ },
100
+ "coverage": {
101
+ "type": "object",
102
+ "properties": {
103
+ "complete": {
104
+ "type": "boolean"
105
+ },
106
+ "coveredFacets": {
107
+ "type": "array",
108
+ "items": {
109
+ "type": "string"
110
+ }
111
+ },
112
+ "unresolvedFacets": {
113
+ "type": "array",
114
+ "items": {
115
+ "type": "string"
116
+ }
117
+ }
118
+ },
119
+ "required": ["complete", "coveredFacets", "unresolvedFacets"],
120
+ "additionalProperties": false
121
+ },
122
+ "evidenceIds": {
123
+ "type": "array",
124
+ "items": {
125
+ "type": "string",
126
+ "pattern": "^[a-f0-9]{64}$"
127
+ }
128
+ },
129
+ "omissions": {
130
+ "type": "array",
131
+ "items": {
132
+ "type": "object",
133
+ "properties": {
134
+ "evidenceId": {
135
+ "type": "string",
136
+ "pattern": "^[a-f0-9]{64}$"
137
+ },
138
+ "reason": {
139
+ "type": "string"
140
+ }
141
+ },
142
+ "required": ["evidenceId", "reason"],
143
+ "additionalProperties": false
144
+ }
145
+ }
146
+ },
147
+ "required": [
148
+ "schemaVersion",
149
+ "rendererVersion",
150
+ "capsuleId",
151
+ "markdown",
152
+ "digest",
153
+ "verificationDigest",
154
+ "lineageDigest",
155
+ "budget",
156
+ "coverage",
157
+ "evidenceIds",
158
+ "omissions"
159
+ ],
160
+ "additionalProperties": false
161
+ }
162
+ },
163
+ "required": ["status", "outputPath", "capsulePath", "sidecarPath", "preview"],
164
+ "additionalProperties": false
165
+ }
@@ -0,0 +1,142 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "schemaVersion": {
6
+ "type": "string",
7
+ "const": "1.0"
8
+ },
9
+ "rendererVersion": {
10
+ "type": "string",
11
+ "const": "1"
12
+ },
13
+ "capsuleId": {
14
+ "type": "string",
15
+ "pattern": "^[a-f0-9]{64}$"
16
+ },
17
+ "markdown": {
18
+ "type": "string"
19
+ },
20
+ "digest": {
21
+ "type": "string",
22
+ "pattern": "^[a-f0-9]{64}$"
23
+ },
24
+ "verificationDigest": {
25
+ "type": "string",
26
+ "pattern": "^[a-f0-9]{64}$"
27
+ },
28
+ "lineageDigest": {
29
+ "type": "string",
30
+ "pattern": "^[a-f0-9]{64}$"
31
+ },
32
+ "budget": {
33
+ "type": "object",
34
+ "properties": {
35
+ "requestedTokens": {
36
+ "type": "integer",
37
+ "exclusiveMinimum": 0,
38
+ "maximum": 1000000
39
+ },
40
+ "requestedBytes": {
41
+ "type": "integer",
42
+ "exclusiveMinimum": 0,
43
+ "maximum": 4194304
44
+ },
45
+ "usedTokens": {
46
+ "type": "integer",
47
+ "minimum": 0,
48
+ "maximum": 9007199254740991
49
+ },
50
+ "usedBytes": {
51
+ "type": "integer",
52
+ "minimum": 0,
53
+ "maximum": 9007199254740991
54
+ },
55
+ "estimator": {
56
+ "type": "string",
57
+ "enum": ["unicode_conservative", "active_tokenizer"]
58
+ },
59
+ "tokenizerFingerprint": {
60
+ "anyOf": [
61
+ {
62
+ "type": "string",
63
+ "pattern": "^[a-f0-9]{64}$"
64
+ },
65
+ {
66
+ "type": "null"
67
+ }
68
+ ]
69
+ }
70
+ },
71
+ "required": [
72
+ "requestedTokens",
73
+ "requestedBytes",
74
+ "usedTokens",
75
+ "usedBytes",
76
+ "estimator",
77
+ "tokenizerFingerprint"
78
+ ],
79
+ "additionalProperties": false
80
+ },
81
+ "coverage": {
82
+ "type": "object",
83
+ "properties": {
84
+ "complete": {
85
+ "type": "boolean"
86
+ },
87
+ "coveredFacets": {
88
+ "type": "array",
89
+ "items": {
90
+ "type": "string"
91
+ }
92
+ },
93
+ "unresolvedFacets": {
94
+ "type": "array",
95
+ "items": {
96
+ "type": "string"
97
+ }
98
+ }
99
+ },
100
+ "required": ["complete", "coveredFacets", "unresolvedFacets"],
101
+ "additionalProperties": false
102
+ },
103
+ "evidenceIds": {
104
+ "type": "array",
105
+ "items": {
106
+ "type": "string",
107
+ "pattern": "^[a-f0-9]{64}$"
108
+ }
109
+ },
110
+ "omissions": {
111
+ "type": "array",
112
+ "items": {
113
+ "type": "object",
114
+ "properties": {
115
+ "evidenceId": {
116
+ "type": "string",
117
+ "pattern": "^[a-f0-9]{64}$"
118
+ },
119
+ "reason": {
120
+ "type": "string"
121
+ }
122
+ },
123
+ "required": ["evidenceId", "reason"],
124
+ "additionalProperties": false
125
+ }
126
+ }
127
+ },
128
+ "required": [
129
+ "schemaVersion",
130
+ "rendererVersion",
131
+ "capsuleId",
132
+ "markdown",
133
+ "digest",
134
+ "verificationDigest",
135
+ "lineageDigest",
136
+ "budget",
137
+ "coverage",
138
+ "evidenceIds",
139
+ "omissions"
140
+ ],
141
+ "additionalProperties": false
142
+ }
@@ -27,7 +27,11 @@
27
27
  "allOf": [
28
28
  {
29
29
  "if": {
30
- "properties": { "schemaVersion": { "const": "1.1" } },
30
+ "properties": {
31
+ "schemaVersion": {
32
+ "enum": ["1.1", "1.2"]
33
+ }
34
+ },
31
35
  "required": ["schemaVersion"]
32
36
  },
33
37
  "then": {
@@ -38,7 +42,9 @@
38
42
  "type": "array",
39
43
  "items": {
40
44
  "allOf": [
41
- { "$ref": "#/definitions/evidence" },
45
+ {
46
+ "$ref": "#/definitions/evidence"
47
+ },
42
48
  {
43
49
  "type": "object",
44
50
  "required": ["egressLineage"],
@@ -66,7 +72,9 @@
66
72
  "type": "array",
67
73
  "items": {
68
74
  "allOf": [
69
- { "$ref": "#/definitions/evidence" },
75
+ {
76
+ "$ref": "#/definitions/evidence"
77
+ },
70
78
  {
71
79
  "not": {
72
80
  "type": "object",
@@ -140,10 +148,93 @@
140
148
  }
141
149
  }
142
150
  }
151
+ },
152
+ {
153
+ "if": {
154
+ "properties": {
155
+ "schemaVersion": {
156
+ "const": "1.2"
157
+ }
158
+ },
159
+ "required": ["schemaVersion"]
160
+ },
161
+ "then": {
162
+ "properties": {
163
+ "scope": {
164
+ "type": "object",
165
+ "required": ["filter"],
166
+ "properties": {
167
+ "filter": {}
168
+ }
169
+ },
170
+ "retrieval": {
171
+ "type": "object",
172
+ "properties": {
173
+ "request": {
174
+ "type": "object",
175
+ "required": ["filter"],
176
+ "properties": {
177
+ "filter": {}
178
+ }
179
+ }
180
+ }
181
+ }
182
+ }
183
+ },
184
+ "else": {
185
+ "properties": {
186
+ "warnings": {
187
+ "type": "array",
188
+ "items": {
189
+ "type": "object",
190
+ "properties": {
191
+ "code": {
192
+ "enum": [
193
+ "incomplete_coverage",
194
+ "omissions_truncated",
195
+ "token_estimate_used"
196
+ ]
197
+ }
198
+ }
199
+ }
200
+ },
201
+ "scope": {
202
+ "type": "object",
203
+ "not": {
204
+ "required": ["filter"],
205
+ "properties": {
206
+ "filter": {}
207
+ }
208
+ },
209
+ "properties": {
210
+ "filter": {}
211
+ }
212
+ },
213
+ "retrieval": {
214
+ "type": "object",
215
+ "properties": {
216
+ "request": {
217
+ "type": "object",
218
+ "not": {
219
+ "required": ["filter"],
220
+ "properties": {
221
+ "filter": {}
222
+ }
223
+ },
224
+ "properties": {
225
+ "filter": {}
226
+ }
227
+ }
228
+ }
229
+ }
230
+ }
231
+ }
143
232
  }
144
233
  ],
145
234
  "properties": {
146
- "schemaVersion": { "enum": ["1.0", "1.1"] },
235
+ "schemaVersion": {
236
+ "enum": ["1.0", "1.1", "1.2"]
237
+ },
147
238
  "coordinateSpace": { "const": "canonical_mirror" },
148
239
  "capsuleId": { "$ref": "#/definitions/sha256" },
149
240
  "egressLineage": { "$ref": "#/definitions/egressLineage" },
@@ -171,15 +262,22 @@
171
262
  },
172
263
  "uriPrefix": {
173
264
  "oneOf": [
174
- { "$ref": "#/definitions/gnoPrefixUri" },
175
- { "type": "null" }
265
+ {
266
+ "$ref": "#/definitions/gnoPrefixUri"
267
+ },
268
+ {
269
+ "type": "null"
270
+ }
176
271
  ]
177
272
  },
178
273
  "tagsAll": { "$ref": "#/definitions/filterValues" },
179
274
  "tagsAny": { "$ref": "#/definitions/filterValues" },
180
275
  "categories": { "$ref": "#/definitions/filterValues" },
181
276
  "since": { "$ref": "#/definitions/nullableDate" },
182
- "until": { "$ref": "#/definitions/nullableDate" }
277
+ "until": { "$ref": "#/definitions/nullableDate" },
278
+ "filter": {
279
+ "$ref": "gno://schemas/metadata-predicate@1.0"
280
+ }
183
281
  }
184
282
  },
185
283
  "budget": {
@@ -223,7 +321,9 @@
223
321
  "indexSnapshot"
224
322
  ],
225
323
  "properties": {
226
- "depthPolicy": { "enum": ["fast", "balanced", "thorough"] },
324
+ "depthPolicy": {
325
+ "enum": ["fast", "balanced", "thorough"]
326
+ },
227
327
  "facets": { "$ref": "#/definitions/facets" },
228
328
  "queryVariants": {
229
329
  "type": "array",
@@ -246,20 +346,38 @@
246
346
  "properties": {
247
347
  "author": {
248
348
  "oneOf": [
249
- { "type": "string", "minLength": 1, "maxLength": 256 },
250
- { "type": "null" }
349
+ {
350
+ "type": "string",
351
+ "minLength": 1,
352
+ "maxLength": 256
353
+ },
354
+ {
355
+ "type": "null"
356
+ }
251
357
  ]
252
358
  },
253
359
  "lang": {
254
360
  "oneOf": [
255
- { "type": "string", "minLength": 1, "maxLength": 64 },
256
- { "type": "null" }
361
+ {
362
+ "type": "string",
363
+ "minLength": 1,
364
+ "maxLength": 64
365
+ },
366
+ {
367
+ "type": "null"
368
+ }
257
369
  ]
258
370
  },
259
371
  "intent": {
260
372
  "oneOf": [
261
- { "type": "string", "minLength": 1, "maxLength": 16384 },
262
- { "type": "null" }
373
+ {
374
+ "type": "string",
375
+ "minLength": 1,
376
+ "maxLength": 16384
377
+ },
378
+ {
379
+ "type": "null"
380
+ }
263
381
  ]
264
382
  },
265
383
  "exclude": {
@@ -269,8 +387,14 @@
269
387
  },
270
388
  "minScore": {
271
389
  "oneOf": [
272
- { "type": "number", "minimum": 0, "maximum": 1 },
273
- { "type": "null" }
390
+ {
391
+ "type": "number",
392
+ "minimum": 0,
393
+ "maximum": 1
394
+ },
395
+ {
396
+ "type": "null"
397
+ }
274
398
  ]
275
399
  },
276
400
  "queryModes": {
@@ -281,7 +405,10 @@
281
405
  "limit": { "type": "integer", "minimum": 1 },
282
406
  "candidateLimit": { "type": "integer", "minimum": 1 },
283
407
  "graphRequested": { "type": "boolean" },
284
- "rerankRequested": { "type": "boolean" }
408
+ "rerankRequested": { "type": "boolean" },
409
+ "filter": {
410
+ "$ref": "gno://schemas/metadata-predicate@1.0"
411
+ }
285
412
  }
286
413
  },
287
414
  "capabilityStates": {
@@ -382,7 +509,8 @@
382
509
  "enum": [
383
510
  "incomplete_coverage",
384
511
  "omissions_truncated",
385
- "token_estimate_used"
512
+ "token_estimate_used",
513
+ "metadata_coverage_incomplete"
386
514
  ]
387
515
  }
388
516
  }
@@ -414,7 +542,9 @@
414
542
  "minimum": 0,
415
543
  "maximum": 9007199254740991
416
544
  },
417
- "disposition": { "enum": ["inline", "attachment"] },
545
+ "disposition": {
546
+ "enum": ["inline", "attachment"]
547
+ },
418
548
  "sha256": { "$ref": "#/definitions/sha256" }
419
549
  }
420
550
  },
@@ -484,10 +614,25 @@
484
614
  },
485
615
  "sha256": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
486
616
  "nullableSha256": {
487
- "oneOf": [{ "$ref": "#/definitions/sha256" }, { "type": "null" }]
617
+ "oneOf": [
618
+ {
619
+ "$ref": "#/definitions/sha256"
620
+ },
621
+ {
622
+ "type": "null"
623
+ }
624
+ ]
488
625
  },
489
626
  "nullableDate": {
490
- "oneOf": [{ "type": "string", "format": "date-time" }, { "type": "null" }]
627
+ "oneOf": [
628
+ {
629
+ "type": "string",
630
+ "format": "date-time"
631
+ },
632
+ {
633
+ "type": "null"
634
+ }
635
+ ]
491
636
  },
492
637
  "gnoUri": {
493
638
  "type": "string",
@@ -511,7 +656,9 @@
511
656
  "additionalProperties": false,
512
657
  "required": ["effectivePolicy", "digest", "sources"],
513
658
  "properties": {
514
- "effectivePolicy": { "enum": ["local_only", "lan", "remote"] },
659
+ "effectivePolicy": {
660
+ "enum": ["local_only", "lan", "remote"]
661
+ },
515
662
  "digest": { "$ref": "#/definitions/sha256" },
516
663
  "sources": {
517
664
  "type": "array",
@@ -523,7 +670,9 @@
523
670
  "required": ["collection", "policy", "source"],
524
671
  "properties": {
525
672
  "collection": { "$ref": "#/definitions/collection" },
526
- "policy": { "enum": ["local_only", "lan", "remote"] },
673
+ "policy": {
674
+ "enum": ["local_only", "lan", "remote"]
675
+ },
527
676
  "source": {
528
677
  "enum": ["explicit", "config_default", "legacy_default"]
529
678
  }
@@ -547,7 +696,9 @@
547
696
  "additionalProperties": false,
548
697
  "required": ["mode", "text"],
549
698
  "properties": {
550
- "mode": { "enum": ["term", "intent", "hyde"] },
699
+ "mode": {
700
+ "enum": ["term", "intent", "hyde"]
701
+ },
551
702
  "text": { "type": "string", "minLength": 1, "maxLength": 4096 }
552
703
  }
553
704
  },
@@ -649,7 +800,9 @@
649
800
  "required": ["contextId", "scopeType", "scopeKey", "text"],
650
801
  "properties": {
651
802
  "contextId": { "$ref": "#/definitions/sha256" },
652
- "scopeType": { "enum": ["global", "collection", "prefix"] },
803
+ "scopeType": {
804
+ "enum": ["global", "collection", "prefix"]
805
+ },
653
806
  "scopeKey": { "type": "string", "minLength": 1, "maxLength": 2048 },
654
807
  "text": { "type": "string", "minLength": 1, "maxLength": 16384 }
655
808
  },
@@ -710,8 +863,14 @@
710
863
  "uri": { "$ref": "#/definitions/gnoUri" },
711
864
  "docid": { "$ref": "#/definitions/docid" },
712
865
  "collection": { "$ref": "#/definitions/collection" },
713
- "title": { "type": ["string", "null"], "maxLength": 2048 },
714
- "heading": { "type": ["string", "null"], "maxLength": 2048 },
866
+ "title": {
867
+ "type": ["string", "null"],
868
+ "maxLength": 2048
869
+ },
870
+ "heading": {
871
+ "type": ["string", "null"],
872
+ "maxLength": 2048
873
+ },
715
874
  "startLine": { "type": "integer", "minimum": 1 },
716
875
  "endLine": { "type": "integer", "minimum": 1 },
717
876
  "text": { "type": "string", "minLength": 1 },
@@ -721,9 +880,17 @@
721
880
  "modifiedAt": { "$ref": "#/definitions/nullableDate" },
722
881
  "documentDate": {
723
882
  "oneOf": [
724
- { "type": "string", "format": "date" },
725
- { "type": "string", "format": "date-time" },
726
- { "type": "null" }
883
+ {
884
+ "type": "string",
885
+ "format": "date"
886
+ },
887
+ {
888
+ "type": "string",
889
+ "format": "date-time"
890
+ },
891
+ {
892
+ "type": "null"
893
+ }
727
894
  ]
728
895
  },
729
896
  "observedAt": { "$ref": "#/definitions/nullableDate" },
@@ -832,8 +999,14 @@
832
999
  "candidateId": { "$ref": "#/definitions/sha256" },
833
1000
  "uri": { "$ref": "#/definitions/gnoUri" },
834
1001
  "docid": { "$ref": "#/definitions/docid" },
835
- "startLine": { "type": ["integer", "null"], "minimum": 1 },
836
- "endLine": { "type": ["integer", "null"], "minimum": 1 },
1002
+ "startLine": {
1003
+ "type": ["integer", "null"],
1004
+ "minimum": 1
1005
+ },
1006
+ "endLine": {
1007
+ "type": ["integer", "null"],
1008
+ "minimum": 1
1009
+ },
837
1010
  "passageHash": { "$ref": "#/definitions/nullableSha256" },
838
1011
  "sourceHash": { "$ref": "#/definitions/sha256" },
839
1012
  "mirrorHash": { "$ref": "#/definitions/sha256" },