@gmickel/gno 2.4.0 → 2.6.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 (136) hide show
  1. package/README.md +69 -6
  2. package/assets/skill/README.md +5 -1
  3. package/assets/skill/SKILL.md +98 -1
  4. package/assets/skill/cli-reference.md +140 -0
  5. package/assets/skill/examples.md +45 -0
  6. package/assets/skill/mcp-reference.md +62 -0
  7. package/assets/skill/recipes/capture-and-file.md +6 -0
  8. package/assets/skill/recipes/memory-file-decision.md +6 -0
  9. package/assets/skill/recipes/memory-supersede-fact.md +5 -0
  10. package/assets/skill/recipes/session-evidence-lookup.md +98 -0
  11. package/assets/spa-production.json.gz +0 -0
  12. package/browser-extension/artifacts/{gno-browser-clipper-v2.4.0.zip → gno-browser-clipper-v2.6.0.zip} +0 -0
  13. package/browser-extension/artifacts/gno-browser-clipper-v2.6.0.zip.sha256 +1 -0
  14. package/browser-extension/dist/manifest.json +1 -1
  15. package/package.json +2 -1
  16. package/spec/cli.md +358 -24
  17. package/spec/compiled-context.md +68 -0
  18. package/spec/mcp.md +223 -2
  19. package/spec/output-schemas/capture-receipt.schema.json +3 -0
  20. package/spec/output-schemas/compiled-context-check.schema.json +44 -0
  21. package/spec/output-schemas/compiled-context-file.schema.json +165 -0
  22. package/spec/output-schemas/compiled-context-preview.schema.json +142 -0
  23. package/spec/output-schemas/mcp-capture-result.schema.json +3 -0
  24. package/spec/output-schemas/memory-remember.schema.json +8 -2
  25. package/spec/output-schemas/request-status.schema.json +113 -0
  26. package/spec/output-schemas/sessions-automation-run.schema.json +46 -0
  27. package/spec/output-schemas/sessions-discovery.schema.json +38 -0
  28. package/spec/output-schemas/sessions-import-receipt.schema.json +156 -0
  29. package/spec/output-schemas/sessions-status.schema.json +432 -0
  30. package/src/app/compiled-context-files.ts +361 -0
  31. package/src/app/compiled-context.ts +240 -0
  32. package/src/app/context-surface.ts +7 -2
  33. package/src/cli/commands/ask.ts +14 -2
  34. package/src/cli/commands/audit.ts +4 -0
  35. package/src/cli/commands/capture.ts +55 -96
  36. package/src/cli/commands/context-compiled.ts +136 -0
  37. package/src/cli/commands/daemon.ts +41 -0
  38. package/src/cli/commands/ls.ts +3 -0
  39. package/src/cli/commands/memory.ts +12 -3
  40. package/src/cli/commands/request-status.ts +59 -0
  41. package/src/cli/commands/reset.ts +39 -5
  42. package/src/cli/commands/sessions.ts +713 -0
  43. package/src/cli/commands/shared.ts +14 -1
  44. package/src/cli/errors.ts +10 -3
  45. package/src/cli/program.ts +458 -1
  46. package/src/cli/session-binding.ts +49 -0
  47. package/src/config/types.ts +8 -0
  48. package/src/core/capture-publish.ts +239 -0
  49. package/src/core/capture-sync.ts +3 -0
  50. package/src/core/compiled-context.ts +254 -0
  51. package/src/core/context-budget.ts +2 -10
  52. package/src/core/file-lock.ts +22 -5
  53. package/src/core/folder-setup-planning.ts +2 -1
  54. package/src/core/memory-remember.ts +233 -122
  55. package/src/core/memory-types.ts +11 -0
  56. package/src/core/network-boundary-inventory.ts +16 -0
  57. package/src/core/request-receipts.ts +671 -0
  58. package/src/core/setup-receipt.ts +27 -20
  59. package/src/core/typed-metadata.ts +4 -0
  60. package/src/core/validation.ts +9 -2
  61. package/src/core/windows-private-path.ts +96 -0
  62. package/src/index.ts +11 -2
  63. package/src/ingestion/compiled-context.ts +15 -0
  64. package/src/ingestion/sync.ts +40 -8
  65. package/src/ingestion/walker.ts +5 -4
  66. package/src/llm/nodeLlamaCpp/simulator-install.ts +6 -2
  67. package/src/mcp/context.ts +8 -0
  68. package/src/mcp/http-egress.ts +15 -3
  69. package/src/mcp/http-transport.ts +2 -0
  70. package/src/mcp/retrieval-warnings.ts +24 -0
  71. package/src/mcp/tools/ask.ts +14 -1
  72. package/src/mcp/tools/capture.ts +87 -83
  73. package/src/mcp/tools/context.ts +46 -2
  74. package/src/mcp/tools/index.ts +119 -7
  75. package/src/mcp/tools/memory-remember.ts +7 -0
  76. package/src/mcp/tools/memory-shared.ts +7 -1
  77. package/src/mcp/tools/query.ts +3 -1
  78. package/src/mcp/tools/request-status.ts +73 -0
  79. package/src/mcp/tools/search.ts +3 -1
  80. package/src/mcp/tools/sessions.ts +208 -0
  81. package/src/mcp/tools/vsearch.ts +3 -1
  82. package/src/sdk/client.ts +252 -89
  83. package/src/sdk/index.ts +13 -0
  84. package/src/sdk/types.ts +82 -3
  85. package/src/serve/capture-service.ts +98 -32
  86. package/src/serve/compiled-context.ts +84 -0
  87. package/src/serve/config-sync.ts +3 -2
  88. package/src/serve/public/app.tsx +15 -1
  89. package/src/serve/public/components/CaptureModal.tsx +26 -8
  90. package/src/serve/public/components/sessions/AutomationPanel.tsx +800 -0
  91. package/src/serve/public/components/sessions/ImportReceipt.tsx +238 -0
  92. package/src/serve/public/components/sessions/SessionSearch.tsx +286 -0
  93. package/src/serve/public/components/sessions/SourcesPanel.tsx +541 -0
  94. package/src/serve/public/components/sessions/api.ts +40 -0
  95. package/src/serve/public/components/sessions/snippet.tsx +53 -0
  96. package/src/serve/public/globals.built.css +1 -1
  97. package/src/serve/public/hooks/use-api.ts +10 -2
  98. package/src/serve/public/lib/request-intent.ts +69 -0
  99. package/src/serve/public/lib/workspace-actions.ts +12 -1
  100. package/src/serve/public/lib/workspace-tabs.ts +4 -0
  101. package/src/serve/public/pages/CompiledContext.tsx +364 -0
  102. package/src/serve/public/pages/Dashboard.tsx +17 -0
  103. package/src/serve/public/pages/DocView.tsx +15 -1
  104. package/src/serve/public/pages/DocumentEditor.tsx +139 -96
  105. package/src/serve/public/pages/Sessions.tsx +350 -0
  106. package/src/serve/resident-runtime.ts +43 -3
  107. package/src/serve/routes/api.ts +476 -147
  108. package/src/serve/routes/sessions.ts +766 -0
  109. package/src/serve/security.ts +9 -0
  110. package/src/serve/server.ts +248 -3
  111. package/src/serve/session-automation.ts +146 -0
  112. package/src/serve/spa-production-build.ts +6 -5
  113. package/src/sessions/archive.ts +348 -0
  114. package/src/sessions/automation-state.ts +444 -0
  115. package/src/sessions/automation-status.ts +239 -0
  116. package/src/sessions/automation.ts +1169 -0
  117. package/src/sessions/binding.ts +105 -0
  118. package/src/sessions/claude-hook.ts +240 -0
  119. package/src/sessions/config.ts +176 -0
  120. package/src/sessions/format.ts +191 -0
  121. package/src/sessions/import-child-env.ts +8 -0
  122. package/src/sessions/import-child.ts +152 -0
  123. package/src/sessions/parsers/claude-code.ts +259 -0
  124. package/src/sessions/parsers/codex.ts +303 -0
  125. package/src/sessions/parsers/hermes.ts +248 -0
  126. package/src/sessions/parsers/openclaw.ts +496 -0
  127. package/src/sessions/parsers/shared.ts +184 -0
  128. package/src/sessions/sanitize.ts +222 -0
  129. package/src/sessions/service.ts +1533 -0
  130. package/src/sessions/setup.ts +477 -0
  131. package/src/sessions/sources.ts +518 -0
  132. package/src/sessions/state.ts +118 -0
  133. package/src/sessions/types.ts +457 -0
  134. package/src/store/sqlite/adapter.ts +68 -16
  135. package/src/store/sqlite/scoped-index.ts +9 -0
  136. package/browser-extension/artifacts/gno-browser-clipper-v2.4.0.zip.sha256 +0 -1
@@ -0,0 +1,432 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "gno://schemas/sessions-status@1.0",
4
+ "title": "GNO Session Archive Status",
5
+ "description": "Shared status of a session archive on every surface (CLI `gno sessions status --json`, MCP gno_sessions_status, REST GET /api/sessions/status, SDK client.sessionsStatus()). Derived from SessionsStatus in src/sessions/types.ts. Includes opt-in automation state. Contains no host paths and no session content.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "schemaVersion",
10
+ "configured",
11
+ "index",
12
+ "collections",
13
+ "sources",
14
+ "automation",
15
+ "warnings"
16
+ ],
17
+ "properties": {
18
+ "schemaVersion": {
19
+ "const": "1"
20
+ },
21
+ "configured": {
22
+ "const": true
23
+ },
24
+ "index": {
25
+ "type": "string",
26
+ "minLength": 1
27
+ },
28
+ "collections": {
29
+ "type": "array",
30
+ "items": {
31
+ "type": "object",
32
+ "additionalProperties": false,
33
+ "required": ["name", "threads"],
34
+ "properties": {
35
+ "name": {
36
+ "type": "string"
37
+ },
38
+ "threads": {
39
+ "type": "integer",
40
+ "minimum": 0
41
+ }
42
+ }
43
+ }
44
+ },
45
+ "sources": {
46
+ "type": "array",
47
+ "items": {
48
+ "type": "object",
49
+ "additionalProperties": false,
50
+ "required": [
51
+ "id",
52
+ "harness",
53
+ "collection",
54
+ "available",
55
+ "units",
56
+ "archivedThreads",
57
+ "staleParser",
58
+ "sourceUnavailable",
59
+ "lastImportAt"
60
+ ],
61
+ "properties": {
62
+ "id": { "type": "string" },
63
+ "harness": { "enum": ["codex", "claude-code", "openclaw", "hermes"] },
64
+ "collection": { "type": "string" },
65
+ "available": {
66
+ "type": "boolean",
67
+ "description": "False when the source root is missing or cannot be listed."
68
+ },
69
+ "units": {
70
+ "type": "object",
71
+ "additionalProperties": false,
72
+ "required": [
73
+ "total",
74
+ "complete",
75
+ "incomplete",
76
+ "failed",
77
+ "pending"
78
+ ],
79
+ "properties": {
80
+ "total": {
81
+ "type": "integer",
82
+ "minimum": 0
83
+ },
84
+ "complete": {
85
+ "type": "integer",
86
+ "minimum": 0
87
+ },
88
+ "incomplete": {
89
+ "type": "integer",
90
+ "minimum": 0
91
+ },
92
+ "failed": {
93
+ "type": "integer",
94
+ "minimum": 0
95
+ },
96
+ "pending": {
97
+ "type": "integer",
98
+ "minimum": 0
99
+ }
100
+ }
101
+ },
102
+ "archivedThreads": {
103
+ "type": "integer",
104
+ "minimum": 0
105
+ },
106
+ "staleParser": {
107
+ "type": "integer",
108
+ "minimum": 0,
109
+ "description": "Archived units produced by an older parser whose source is no longer available to reparse."
110
+ },
111
+ "sourceUnavailable": {
112
+ "type": "integer",
113
+ "minimum": 0,
114
+ "description": "Archived units whose source no longer exists; their archive is retained until an explicit prune."
115
+ },
116
+ "lastImportAt": {
117
+ "type": ["string", "null"],
118
+ "format": "date-time"
119
+ }
120
+ }
121
+ }
122
+ },
123
+ "automation": {
124
+ "type": "object",
125
+ "additionalProperties": false,
126
+ "required": ["daemon", "timezone", "profiles"],
127
+ "properties": {
128
+ "daemon": {
129
+ "type": "object",
130
+ "additionalProperties": false,
131
+ "required": ["state", "heartbeatAt"],
132
+ "properties": {
133
+ "state": {
134
+ "enum": ["running", "not_running", "stale"],
135
+ "description": "running only with a fresh heartbeat from a live daemon on this archive; serve never counts."
136
+ },
137
+ "heartbeatAt": {
138
+ "type": ["string", "null"],
139
+ "format": "date-time"
140
+ }
141
+ }
142
+ },
143
+ "timezone": {
144
+ "type": "string",
145
+ "description": "IANA timezone for human-readable times; stored instants are UTC."
146
+ },
147
+ "profiles": {
148
+ "type": "array",
149
+ "items": {
150
+ "type": "object",
151
+ "additionalProperties": false,
152
+ "required": [
153
+ "id",
154
+ "sources",
155
+ "collections",
156
+ "state",
157
+ "hook",
158
+ "schedule",
159
+ "limit",
160
+ "retries",
161
+ "pending",
162
+ "running",
163
+ "lastTrigger",
164
+ "lastRun",
165
+ "lastSuccessAt",
166
+ "retryAt",
167
+ "recovery"
168
+ ],
169
+ "properties": {
170
+ "id": {
171
+ "type": "string"
172
+ },
173
+ "sources": {
174
+ "type": "array",
175
+ "items": {
176
+ "type": "string"
177
+ }
178
+ },
179
+ "collections": {
180
+ "type": "array",
181
+ "items": {
182
+ "type": "string"
183
+ }
184
+ },
185
+ "state": {
186
+ "enum": [
187
+ "off",
188
+ "idle",
189
+ "pending",
190
+ "running",
191
+ "retrying",
192
+ "partial",
193
+ "failed"
194
+ ],
195
+ "description": "off: no trigger enabled and nothing pending. partial/failed describe the last run."
196
+ },
197
+ "hook": {
198
+ "oneOf": [
199
+ {
200
+ "type": "null"
201
+ },
202
+ {
203
+ "type": "object",
204
+ "additionalProperties": false,
205
+ "required": ["harness", "enabled", "installed"],
206
+ "properties": {
207
+ "harness": {
208
+ "enum": ["claude-code"]
209
+ },
210
+ "enabled": {
211
+ "type": "boolean"
212
+ },
213
+ "installed": {
214
+ "type": ["boolean", "null"],
215
+ "description": "Owned entry present in the host settings file; null when the file cannot be read."
216
+ }
217
+ }
218
+ }
219
+ ]
220
+ },
221
+ "schedule": {
222
+ "oneOf": [
223
+ {
224
+ "type": "null"
225
+ },
226
+ {
227
+ "type": "object",
228
+ "additionalProperties": false,
229
+ "required": ["enabled", "cadence", "nextDueAt"],
230
+ "properties": {
231
+ "enabled": {
232
+ "type": "boolean"
233
+ },
234
+ "cadence": {
235
+ "type": "string"
236
+ },
237
+ "nextDueAt": {
238
+ "type": ["string", "null"],
239
+ "format": "date-time",
240
+ "description": "Null unless enabled and a daemon is running on this archive."
241
+ }
242
+ }
243
+ }
244
+ ]
245
+ },
246
+ "limit": {
247
+ "type": "integer",
248
+ "minimum": 1
249
+ },
250
+ "retries": {
251
+ "type": "integer",
252
+ "minimum": 0
253
+ },
254
+ "pending": {
255
+ "oneOf": [
256
+ {
257
+ "type": "null"
258
+ },
259
+ {
260
+ "type": "object",
261
+ "additionalProperties": false,
262
+ "required": ["since", "triggers"],
263
+ "properties": {
264
+ "since": {
265
+ "type": "string",
266
+ "format": "date-time"
267
+ },
268
+ "triggers": {
269
+ "type": "array",
270
+ "items": {
271
+ "enum": ["hook", "schedule", "manual"]
272
+ }
273
+ }
274
+ }
275
+ }
276
+ ]
277
+ },
278
+ "running": {
279
+ "oneOf": [
280
+ {
281
+ "type": "null"
282
+ },
283
+ {
284
+ "type": "object",
285
+ "additionalProperties": false,
286
+ "required": ["startedAt", "triggers"],
287
+ "properties": {
288
+ "startedAt": {
289
+ "type": "string",
290
+ "format": "date-time"
291
+ },
292
+ "triggers": {
293
+ "type": "array",
294
+ "items": {
295
+ "enum": ["hook", "schedule", "manual"]
296
+ }
297
+ }
298
+ }
299
+ }
300
+ ]
301
+ },
302
+ "lastTrigger": {
303
+ "oneOf": [
304
+ {
305
+ "type": "null"
306
+ },
307
+ {
308
+ "type": "object",
309
+ "additionalProperties": false,
310
+ "required": ["kind", "at"],
311
+ "properties": {
312
+ "kind": {
313
+ "enum": ["hook", "schedule", "manual"]
314
+ },
315
+ "at": {
316
+ "type": "string",
317
+ "format": "date-time"
318
+ }
319
+ }
320
+ }
321
+ ]
322
+ },
323
+ "lastRun": {
324
+ "oneOf": [
325
+ {
326
+ "type": "null"
327
+ },
328
+ {
329
+ "$ref": "#/definitions/runRecord"
330
+ }
331
+ ]
332
+ },
333
+ "lastSuccessAt": {
334
+ "type": ["string", "null"],
335
+ "format": "date-time"
336
+ },
337
+ "retryAt": {
338
+ "type": ["string", "null"],
339
+ "format": "date-time"
340
+ },
341
+ "recovery": {
342
+ "type": ["string", "null"]
343
+ }
344
+ }
345
+ }
346
+ }
347
+ }
348
+ },
349
+ "warnings": {
350
+ "type": "array",
351
+ "items": {
352
+ "type": "string"
353
+ }
354
+ }
355
+ },
356
+ "definitions": {
357
+ "runRecord": {
358
+ "type": "object",
359
+ "additionalProperties": false,
360
+ "required": [
361
+ "triggers",
362
+ "startedAt",
363
+ "finishedAt",
364
+ "outcome",
365
+ "reason",
366
+ "threads",
367
+ "units"
368
+ ],
369
+ "properties": {
370
+ "triggers": {
371
+ "type": "array",
372
+ "items": {
373
+ "enum": ["hook", "schedule", "manual"]
374
+ }
375
+ },
376
+ "startedAt": {
377
+ "type": "string",
378
+ "format": "date-time"
379
+ },
380
+ "finishedAt": {
381
+ "type": "string",
382
+ "format": "date-time"
383
+ },
384
+ "outcome": {
385
+ "enum": ["complete", "up_to_date", "partial", "failed"]
386
+ },
387
+ "reason": {
388
+ "type": ["string", "null"],
389
+ "description": "Stable reason code for partial or failed runs, e.g. busy, runtime_error, source_revoked, source_unavailable, invalid_configuration, import_failed, interrupted, deferred, incomplete_units, index_sync_failed, unit_failures."
390
+ },
391
+ "threads": {
392
+ "type": "object",
393
+ "additionalProperties": false,
394
+ "required": ["imported", "updated", "unchanged"],
395
+ "properties": {
396
+ "imported": {
397
+ "type": "integer",
398
+ "minimum": 0
399
+ },
400
+ "updated": {
401
+ "type": "integer",
402
+ "minimum": 0
403
+ },
404
+ "unchanged": {
405
+ "type": "integer",
406
+ "minimum": 0
407
+ }
408
+ }
409
+ },
410
+ "units": {
411
+ "type": "object",
412
+ "additionalProperties": false,
413
+ "required": ["incomplete", "failed", "deferred"],
414
+ "properties": {
415
+ "incomplete": {
416
+ "type": "integer",
417
+ "minimum": 0
418
+ },
419
+ "failed": {
420
+ "type": "integer",
421
+ "minimum": 0
422
+ },
423
+ "deferred": {
424
+ "type": "integer",
425
+ "minimum": 0
426
+ }
427
+ }
428
+ }
429
+ }
430
+ }
431
+ }
432
+ }