@gmickel/gno 2.3.2 → 2.4.0

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 (88) hide show
  1. package/README.md +24 -4
  2. package/assets/skill/SKILL.md +30 -0
  3. package/assets/skill/cli-reference.md +12 -0
  4. package/assets/skill/examples.md +15 -0
  5. package/assets/skill/mcp-reference.md +16 -0
  6. package/assets/spa-production.json.gz +0 -0
  7. package/browser-extension/artifacts/{gno-browser-clipper-v2.3.2.zip → gno-browser-clipper-v2.4.0.zip} +0 -0
  8. package/browser-extension/artifacts/gno-browser-clipper-v2.4.0.zip.sha256 +1 -0
  9. package/browser-extension/dist/manifest.json +1 -1
  10. package/package.json +1 -1
  11. package/spec/cli.md +30 -0
  12. package/spec/db/schema.sql +2 -0
  13. package/spec/evals.md +48 -0
  14. package/spec/mcp.md +12 -0
  15. package/spec/output-schemas/ask.schema.json +12 -0
  16. package/spec/output-schemas/context-capsule-v1.schema.json +205 -32
  17. package/spec/output-schemas/context-capsule-verification.schema.json +32 -9
  18. package/spec/output-schemas/evidence-fixtures.schema.json +176 -0
  19. package/spec/output-schemas/evidence-report.schema.json +322 -0
  20. package/spec/output-schemas/evidence-run.schema.json +277 -0
  21. package/spec/output-schemas/metadata-predicate.schema.json +460 -0
  22. package/spec/output-schemas/retrieval-trace-filters.schema.json +13 -4
  23. package/spec/output-schemas/search-results.schema.json +12 -0
  24. package/spec/output-schemas/status.schema.json +37 -6
  25. package/src/app/context-runtime-contract.ts +33 -2
  26. package/src/app/context-runtime-input.ts +17 -0
  27. package/src/app/context-runtime-types.ts +2 -0
  28. package/src/app/context-runtime.ts +27 -3
  29. package/src/app/context-surface.ts +2 -0
  30. package/src/app/verified-ask.ts +1 -0
  31. package/src/cli/commands/ask.ts +1 -0
  32. package/src/cli/commands/context-build.ts +1 -0
  33. package/src/cli/commands/search.ts +1 -0
  34. package/src/cli/commands/status.ts +10 -0
  35. package/src/cli/options.ts +19 -0
  36. package/src/cli/program.ts +12 -0
  37. package/src/converters/types.ts +2 -0
  38. package/src/core/context-capsule-retrieval-schema.ts +8 -0
  39. package/src/core/context-capsule-schema.ts +47 -3
  40. package/src/core/context-capsule-validation.ts +14 -2
  41. package/src/core/context-capsule-verification.ts +1 -0
  42. package/src/core/context-capsule.ts +16 -2
  43. package/src/core/context-compiler.ts +3 -0
  44. package/src/core/record-metadata.ts +1 -1
  45. package/src/core/retrieval-replay-candidate.ts +5 -0
  46. package/src/core/retrieval-trace-filter-normalization.ts +4 -0
  47. package/src/core/retrieval-trace-request.ts +1 -0
  48. package/src/core/retrieval-trace-session.ts +5 -1
  49. package/src/core/retrieval-trace.ts +2 -0
  50. package/src/core/typed-metadata.ts +224 -0
  51. package/src/ingestion/record-adapter-canonical.ts +13 -2
  52. package/src/ingestion/record-container.ts +9 -0
  53. package/src/ingestion/sync.ts +11 -1
  54. package/src/ingestion/typed-metadata.ts +55 -0
  55. package/src/mcp/tools/ask.ts +10 -2
  56. package/src/mcp/tools/context.ts +1 -0
  57. package/src/mcp/tools/index.ts +12 -1
  58. package/src/mcp/tools/query.ts +13 -0
  59. package/src/mcp/tools/search.ts +9 -0
  60. package/src/mcp/tools/status.ts +4 -0
  61. package/src/mcp/tools/vsearch.ts +9 -0
  62. package/src/pipeline/diagnose.ts +6 -0
  63. package/src/pipeline/filters.ts +65 -0
  64. package/src/pipeline/graph-retrieval.ts +9 -1
  65. package/src/pipeline/hybrid.ts +22 -2
  66. package/src/pipeline/search.ts +11 -0
  67. package/src/pipeline/types.ts +7 -1
  68. package/src/pipeline/vsearch.ts +21 -1
  69. package/src/sdk/client.ts +29 -1
  70. package/src/sdk/index.ts +4 -0
  71. package/src/sdk/types.ts +7 -0
  72. package/src/serve/context-capsule.ts +1 -0
  73. package/src/serve/public/app.tsx +1 -1
  74. package/src/serve/public/components/MetadataFilter.tsx +186 -0
  75. package/src/serve/public/globals.built.css +1 -1
  76. package/src/serve/public/lib/metadata-filter.ts +28 -0
  77. package/src/serve/public/lib/retrieval-filters.ts +3 -0
  78. package/src/serve/public/pages/Ask.tsx +48 -3
  79. package/src/serve/public/pages/DocView.tsx +33 -0
  80. package/src/serve/public/pages/Search.tsx +44 -1
  81. package/src/serve/routes/api.ts +50 -0
  82. package/src/store/migrations/030-typed-metadata.ts +13 -0
  83. package/src/store/migrations/index.ts +2 -0
  84. package/src/store/sqlite/adapter.ts +55 -4
  85. package/src/store/sqlite/eligibility.ts +12 -0
  86. package/src/store/sqlite/metadata-predicate.ts +71 -0
  87. package/src/store/types.ts +11 -0
  88. package/browser-extension/artifacts/gno-browser-clipper-v2.3.2.zip.sha256 +0 -1
@@ -0,0 +1,322 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "schemaVersion": {
6
+ "type": "string",
7
+ "const": "gno-evidence-report-v1"
8
+ },
9
+ "kind": {
10
+ "type": "string",
11
+ "enum": ["replay", "native"]
12
+ },
13
+ "fixtureSha256": {
14
+ "$ref": "#/definitions/__schema0"
15
+ },
16
+ "valid": {
17
+ "type": "boolean"
18
+ },
19
+ "passed": {
20
+ "type": "boolean"
21
+ },
22
+ "reasons": {
23
+ "type": "array",
24
+ "items": {
25
+ "$ref": "#/definitions/__schema1"
26
+ }
27
+ },
28
+ "scores": {
29
+ "type": "array",
30
+ "items": {
31
+ "type": "object",
32
+ "properties": {
33
+ "caseId": {
34
+ "$ref": "#/definitions/__schema1"
35
+ },
36
+ "arm": {
37
+ "type": "string",
38
+ "enum": ["current", "noExpand"]
39
+ },
40
+ "valid": {
41
+ "type": "boolean"
42
+ },
43
+ "reasons": {
44
+ "type": "array",
45
+ "items": {
46
+ "$ref": "#/definitions/__schema1"
47
+ }
48
+ },
49
+ "stages": {
50
+ "type": "object",
51
+ "properties": {
52
+ "retrieval": {
53
+ "$ref": "#/definitions/__schema2"
54
+ },
55
+ "fusion": {
56
+ "$ref": "#/definitions/__schema2"
57
+ },
58
+ "rerank_input": {
59
+ "$ref": "#/definitions/__schema2"
60
+ },
61
+ "delivery": {
62
+ "$ref": "#/definitions/__schema2"
63
+ }
64
+ },
65
+ "required": ["retrieval", "fusion", "rerank_input", "delivery"],
66
+ "additionalProperties": false
67
+ },
68
+ "firstLossStage": {
69
+ "anyOf": [
70
+ {
71
+ "type": "string",
72
+ "enum": ["retrieval", "fusion", "rerank_input", "delivery"]
73
+ },
74
+ {
75
+ "type": "null"
76
+ }
77
+ ]
78
+ },
79
+ "groundedTaskSuccess": {
80
+ "anyOf": [
81
+ {
82
+ "type": "boolean"
83
+ },
84
+ {
85
+ "type": "null"
86
+ }
87
+ ]
88
+ },
89
+ "correctAbstention": {
90
+ "anyOf": [
91
+ {
92
+ "type": "boolean"
93
+ },
94
+ {
95
+ "type": "null"
96
+ }
97
+ ]
98
+ },
99
+ "cost": {
100
+ "type": "object",
101
+ "properties": {
102
+ "visibleBytes": {
103
+ "$ref": "#/definitions/__schema3"
104
+ },
105
+ "usedTokens": {
106
+ "$ref": "#/definitions/__schema3"
107
+ },
108
+ "estimator": {
109
+ "type": "string",
110
+ "enum": ["unicode_conservative", "active_tokenizer"]
111
+ },
112
+ "readerOutputBytes": {
113
+ "default": null,
114
+ "anyOf": [
115
+ {
116
+ "$ref": "#/definitions/__schema3"
117
+ },
118
+ {
119
+ "type": "null"
120
+ }
121
+ ]
122
+ },
123
+ "readerOutputTokens": {
124
+ "default": null,
125
+ "anyOf": [
126
+ {
127
+ "$ref": "#/definitions/__schema3"
128
+ },
129
+ {
130
+ "type": "null"
131
+ }
132
+ ]
133
+ },
134
+ "tokenizations": {
135
+ "anyOf": [
136
+ {
137
+ "type": "array",
138
+ "items": {
139
+ "type": "object",
140
+ "properties": {
141
+ "modelId": {
142
+ "$ref": "#/definitions/__schema1"
143
+ },
144
+ "inputSha256": {
145
+ "$ref": "#/definitions/__schema0"
146
+ },
147
+ "count": {
148
+ "$ref": "#/definitions/__schema3"
149
+ }
150
+ },
151
+ "required": ["modelId", "inputSha256", "count"],
152
+ "additionalProperties": false
153
+ }
154
+ },
155
+ {
156
+ "type": "null"
157
+ }
158
+ ]
159
+ },
160
+ "durationMs": {
161
+ "type": "number",
162
+ "minimum": 0
163
+ },
164
+ "rssBytes": {
165
+ "anyOf": [
166
+ {
167
+ "$ref": "#/definitions/__schema3"
168
+ },
169
+ {
170
+ "type": "null"
171
+ }
172
+ ]
173
+ }
174
+ },
175
+ "required": [
176
+ "visibleBytes",
177
+ "usedTokens",
178
+ "estimator",
179
+ "readerOutputBytes",
180
+ "readerOutputTokens",
181
+ "tokenizations",
182
+ "durationMs",
183
+ "rssBytes"
184
+ ],
185
+ "additionalProperties": false
186
+ }
187
+ },
188
+ "required": [
189
+ "caseId",
190
+ "arm",
191
+ "valid",
192
+ "reasons",
193
+ "stages",
194
+ "firstLossStage",
195
+ "groundedTaskSuccess",
196
+ "correctAbstention",
197
+ "cost"
198
+ ],
199
+ "additionalProperties": false
200
+ }
201
+ },
202
+ "paired": {
203
+ "type": "array",
204
+ "items": {
205
+ "type": "object",
206
+ "properties": {
207
+ "caseId": {
208
+ "$ref": "#/definitions/__schema1"
209
+ },
210
+ "allEvidenceDelta": {
211
+ "anyOf": [
212
+ {
213
+ "type": "integer",
214
+ "minimum": -1,
215
+ "maximum": 1
216
+ },
217
+ {
218
+ "type": "null"
219
+ }
220
+ ]
221
+ },
222
+ "groundedTaskDelta": {
223
+ "anyOf": [
224
+ {
225
+ "type": "integer",
226
+ "minimum": -1,
227
+ "maximum": 1
228
+ },
229
+ {
230
+ "type": "null"
231
+ }
232
+ ]
233
+ },
234
+ "baselineMiss": {
235
+ "type": "boolean"
236
+ },
237
+ "candidateMiss": {
238
+ "type": "boolean"
239
+ }
240
+ },
241
+ "required": [
242
+ "caseId",
243
+ "allEvidenceDelta",
244
+ "groundedTaskDelta",
245
+ "baselineMiss",
246
+ "candidateMiss"
247
+ ],
248
+ "additionalProperties": false
249
+ }
250
+ }
251
+ },
252
+ "required": [
253
+ "schemaVersion",
254
+ "kind",
255
+ "fixtureSha256",
256
+ "valid",
257
+ "passed",
258
+ "reasons",
259
+ "scores",
260
+ "paired"
261
+ ],
262
+ "additionalProperties": false,
263
+ "definitions": {
264
+ "__schema0": {
265
+ "type": "string",
266
+ "pattern": "^[a-f0-9]{64}$"
267
+ },
268
+ "__schema1": {
269
+ "type": "string",
270
+ "minLength": 1
271
+ },
272
+ "__schema2": {
273
+ "type": "object",
274
+ "properties": {
275
+ "all": {
276
+ "anyOf": [
277
+ {
278
+ "type": "boolean"
279
+ },
280
+ {
281
+ "type": "null"
282
+ }
283
+ ]
284
+ },
285
+ "any": {
286
+ "anyOf": [
287
+ {
288
+ "type": "boolean"
289
+ },
290
+ {
291
+ "type": "null"
292
+ }
293
+ ]
294
+ },
295
+ "spans": {
296
+ "type": "object",
297
+ "propertyNames": {
298
+ "$ref": "#/definitions/__schema1"
299
+ },
300
+ "additionalProperties": {
301
+ "type": "string",
302
+ "enum": [
303
+ "complete",
304
+ "partial",
305
+ "clipped",
306
+ "split-across-inputs",
307
+ "missing",
308
+ "unknown"
309
+ ]
310
+ }
311
+ }
312
+ },
313
+ "required": ["all", "any", "spans"],
314
+ "additionalProperties": false
315
+ },
316
+ "__schema3": {
317
+ "type": "integer",
318
+ "minimum": 0,
319
+ "maximum": 9007199254740991
320
+ }
321
+ }
322
+ }
@@ -0,0 +1,277 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "schemaVersion": {
6
+ "type": "string",
7
+ "const": "gno-evidence-run-v1"
8
+ },
9
+ "kind": {
10
+ "type": "string",
11
+ "enum": ["replay", "native"]
12
+ },
13
+ "observations": {
14
+ "minItems": 1,
15
+ "type": "array",
16
+ "items": {
17
+ "$ref": "#/definitions/__schema0"
18
+ }
19
+ }
20
+ },
21
+ "required": ["schemaVersion", "kind", "observations"],
22
+ "additionalProperties": false,
23
+ "definitions": {
24
+ "__schema0": {
25
+ "type": "object",
26
+ "properties": {
27
+ "caseId": {
28
+ "$ref": "#/definitions/__schema1"
29
+ },
30
+ "arm": {
31
+ "type": "string",
32
+ "enum": ["current", "noExpand"]
33
+ },
34
+ "fixtureSha256": {
35
+ "$ref": "#/definitions/__schema2"
36
+ },
37
+ "identitySha256": {
38
+ "$ref": "#/definitions/__schema2"
39
+ },
40
+ "noExpand": {
41
+ "type": "boolean"
42
+ },
43
+ "tokenBudget": {
44
+ "type": "integer",
45
+ "exclusiveMinimum": 0,
46
+ "maximum": 9007199254740991
47
+ },
48
+ "byteBudget": {
49
+ "type": "integer",
50
+ "exclusiveMinimum": 0,
51
+ "maximum": 9007199254740991
52
+ },
53
+ "coverage": {
54
+ "type": "string",
55
+ "enum": ["complete", "incomplete"]
56
+ },
57
+ "reasons": {
58
+ "type": "array",
59
+ "items": {
60
+ "$ref": "#/definitions/__schema1"
61
+ }
62
+ },
63
+ "stages": {
64
+ "type": "object",
65
+ "properties": {
66
+ "retrieval": {
67
+ "$ref": "#/definitions/__schema3"
68
+ },
69
+ "fusion": {
70
+ "$ref": "#/definitions/__schema3"
71
+ },
72
+ "rerank_input": {
73
+ "$ref": "#/definitions/__schema3"
74
+ },
75
+ "delivery": {
76
+ "$ref": "#/definitions/__schema3"
77
+ }
78
+ },
79
+ "required": ["retrieval", "fusion", "rerank_input", "delivery"],
80
+ "additionalProperties": false
81
+ },
82
+ "reader": {
83
+ "anyOf": [
84
+ {
85
+ "type": "object",
86
+ "properties": {
87
+ "answer": {
88
+ "type": "string"
89
+ },
90
+ "abstained": {
91
+ "type": "boolean"
92
+ },
93
+ "verified": {
94
+ "type": "boolean"
95
+ }
96
+ },
97
+ "required": ["answer", "abstained", "verified"],
98
+ "additionalProperties": false
99
+ },
100
+ {
101
+ "type": "null"
102
+ }
103
+ ]
104
+ },
105
+ "cost": {
106
+ "type": "object",
107
+ "properties": {
108
+ "visibleBytes": {
109
+ "$ref": "#/definitions/__schema4"
110
+ },
111
+ "usedTokens": {
112
+ "$ref": "#/definitions/__schema4"
113
+ },
114
+ "estimator": {
115
+ "type": "string",
116
+ "enum": ["unicode_conservative", "active_tokenizer"]
117
+ },
118
+ "readerOutputBytes": {
119
+ "default": null,
120
+ "anyOf": [
121
+ {
122
+ "$ref": "#/definitions/__schema4"
123
+ },
124
+ {
125
+ "type": "null"
126
+ }
127
+ ]
128
+ },
129
+ "readerOutputTokens": {
130
+ "default": null,
131
+ "anyOf": [
132
+ {
133
+ "$ref": "#/definitions/__schema4"
134
+ },
135
+ {
136
+ "type": "null"
137
+ }
138
+ ]
139
+ },
140
+ "tokenizations": {
141
+ "anyOf": [
142
+ {
143
+ "type": "array",
144
+ "items": {
145
+ "type": "object",
146
+ "properties": {
147
+ "modelId": {
148
+ "$ref": "#/definitions/__schema1"
149
+ },
150
+ "inputSha256": {
151
+ "$ref": "#/definitions/__schema2"
152
+ },
153
+ "count": {
154
+ "$ref": "#/definitions/__schema4"
155
+ }
156
+ },
157
+ "required": ["modelId", "inputSha256", "count"],
158
+ "additionalProperties": false
159
+ }
160
+ },
161
+ {
162
+ "type": "null"
163
+ }
164
+ ]
165
+ },
166
+ "durationMs": {
167
+ "type": "number",
168
+ "minimum": 0
169
+ },
170
+ "rssBytes": {
171
+ "anyOf": [
172
+ {
173
+ "$ref": "#/definitions/__schema4"
174
+ },
175
+ {
176
+ "type": "null"
177
+ }
178
+ ]
179
+ }
180
+ },
181
+ "required": [
182
+ "visibleBytes",
183
+ "usedTokens",
184
+ "estimator",
185
+ "readerOutputBytes",
186
+ "readerOutputTokens",
187
+ "tokenizations",
188
+ "durationMs",
189
+ "rssBytes"
190
+ ],
191
+ "additionalProperties": false
192
+ }
193
+ },
194
+ "required": [
195
+ "caseId",
196
+ "arm",
197
+ "fixtureSha256",
198
+ "identitySha256",
199
+ "noExpand",
200
+ "tokenBudget",
201
+ "byteBudget",
202
+ "coverage",
203
+ "reasons",
204
+ "stages",
205
+ "reader",
206
+ "cost"
207
+ ],
208
+ "additionalProperties": false
209
+ },
210
+ "__schema1": {
211
+ "type": "string",
212
+ "minLength": 1
213
+ },
214
+ "__schema2": {
215
+ "type": "string",
216
+ "pattern": "^[a-f0-9]{64}$"
217
+ },
218
+ "__schema3": {
219
+ "anyOf": [
220
+ {
221
+ "type": "array",
222
+ "items": {
223
+ "type": "object",
224
+ "properties": {
225
+ "uri": {
226
+ "$ref": "#/definitions/__schema1"
227
+ },
228
+ "sourceHash": {
229
+ "$ref": "#/definitions/__schema2"
230
+ },
231
+ "start": {
232
+ "$ref": "#/definitions/__schema4"
233
+ },
234
+ "end": {
235
+ "$ref": "#/definitions/__schema4"
236
+ },
237
+ "text": {
238
+ "type": "string"
239
+ },
240
+ "inputId": {
241
+ "$ref": "#/definitions/__schema1"
242
+ },
243
+ "selectedEnd": {
244
+ "anyOf": [
245
+ {
246
+ "$ref": "#/definitions/__schema4"
247
+ },
248
+ {
249
+ "type": "null"
250
+ }
251
+ ]
252
+ }
253
+ },
254
+ "required": [
255
+ "uri",
256
+ "sourceHash",
257
+ "start",
258
+ "end",
259
+ "text",
260
+ "inputId",
261
+ "selectedEnd"
262
+ ],
263
+ "additionalProperties": false
264
+ }
265
+ },
266
+ {
267
+ "type": "null"
268
+ }
269
+ ]
270
+ },
271
+ "__schema4": {
272
+ "type": "integer",
273
+ "minimum": 0,
274
+ "maximum": 9007199254740991
275
+ }
276
+ }
277
+ }