@pellux/goodvibes-contracts 1.14.0 → 1.15.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.
@@ -3,7 +3,7 @@
3
3
  "product": {
4
4
  "id": "goodvibes",
5
5
  "surface": "operator",
6
- "version": "1.14.0"
6
+ "version": "1.15.0"
7
7
  },
8
8
  "auth": {
9
9
  "modes": [
@@ -26207,6 +26207,15 @@
26207
26207
  "items": {}
26208
26208
  }
26209
26209
  ]
26210
+ },
26211
+ "persistedTo": {
26212
+ "type": "string"
26213
+ },
26214
+ "tier": {
26215
+ "type": "string"
26216
+ },
26217
+ "daemonOwned": {
26218
+ "type": "boolean"
26210
26219
  }
26211
26220
  },
26212
26221
  "required": [
@@ -69747,7 +69756,8 @@
69747
69756
  "status.request",
69748
69757
  "location.request",
69749
69758
  "session.message",
69750
- "automation.run"
69759
+ "automation.run",
69760
+ "device.capability"
69751
69761
  ]
69752
69762
  }
69753
69763
  },
@@ -71024,7 +71034,8 @@
71024
71034
  "status.request",
71025
71035
  "location.request",
71026
71036
  "session.message",
71027
- "automation.run"
71037
+ "automation.run",
71038
+ "device.capability"
71028
71039
  ]
71029
71040
  },
71030
71041
  "command": {
@@ -72554,7 +72565,8 @@
72554
72565
  "status.request",
72555
72566
  "location.request",
72556
72567
  "session.message",
72557
- "automation.run"
72568
+ "automation.run",
72569
+ "device.capability"
72558
72570
  ]
72559
72571
  },
72560
72572
  "command": {
@@ -72940,7 +72952,8 @@
72940
72952
  "status.request",
72941
72953
  "location.request",
72942
72954
  "session.message",
72943
- "automation.run"
72955
+ "automation.run",
72956
+ "device.capability"
72944
72957
  ]
72945
72958
  },
72946
72959
  "command": {
@@ -73220,7 +73233,8 @@
73220
73233
  "status.request",
73221
73234
  "location.request",
73222
73235
  "session.message",
73223
- "automation.run"
73236
+ "automation.run",
73237
+ "device.capability"
73224
73238
  ]
73225
73239
  },
73226
73240
  "command": {
@@ -75067,6 +75081,529 @@
75067
75081
  },
75068
75082
  "invokable": true
75069
75083
  },
75084
+ {
75085
+ "id": "devices.grants.list",
75086
+ "title": "List Device Capability Grants",
75087
+ "description": "The durable \"always allow\" grants a person gave, per capability and per device, with when each was granted, when it expires, and how often it has been used — plus the recent ledger of grants given, used, revoked, and expired.",
75088
+ "category": "runtime",
75089
+ "source": "builtin",
75090
+ "access": "authenticated",
75091
+ "transport": [
75092
+ "http",
75093
+ "ws"
75094
+ ],
75095
+ "scopes": [
75096
+ "read:remote"
75097
+ ],
75098
+ "http": {
75099
+ "method": "GET",
75100
+ "path": "/api/devices/grants"
75101
+ },
75102
+ "inputSchema": {
75103
+ "type": "object",
75104
+ "properties": {
75105
+ "nodeId": {
75106
+ "type": "string"
75107
+ },
75108
+ "limit": {
75109
+ "type": "number"
75110
+ }
75111
+ },
75112
+ "additionalProperties": false
75113
+ },
75114
+ "outputSchema": {
75115
+ "type": "object",
75116
+ "properties": {
75117
+ "grants": {
75118
+ "type": "array",
75119
+ "items": {
75120
+ "type": "object",
75121
+ "properties": {
75122
+ "grantId": {
75123
+ "type": "string"
75124
+ },
75125
+ "nodeId": {
75126
+ "type": "string"
75127
+ },
75128
+ "nodeKind": {
75129
+ "type": "string"
75130
+ },
75131
+ "capabilityId": {
75132
+ "type": "string"
75133
+ },
75134
+ "capabilityTitle": {
75135
+ "type": "string"
75136
+ },
75137
+ "scope": {
75138
+ "type": "string"
75139
+ },
75140
+ "grantedAt": {
75141
+ "type": "number"
75142
+ },
75143
+ "expiresAt": {
75144
+ "type": "number"
75145
+ },
75146
+ "lastUsedAt": {
75147
+ "anyOf": [
75148
+ {
75149
+ "type": "number"
75150
+ },
75151
+ {
75152
+ "type": "null"
75153
+ }
75154
+ ]
75155
+ },
75156
+ "useCount": {
75157
+ "type": "number"
75158
+ },
75159
+ "grantedBy": {
75160
+ "type": "string"
75161
+ }
75162
+ },
75163
+ "required": [
75164
+ "grantId",
75165
+ "nodeId",
75166
+ "nodeKind",
75167
+ "capabilityId",
75168
+ "capabilityTitle",
75169
+ "scope",
75170
+ "grantedAt",
75171
+ "expiresAt",
75172
+ "lastUsedAt",
75173
+ "useCount",
75174
+ "grantedBy"
75175
+ ],
75176
+ "additionalProperties": false
75177
+ }
75178
+ },
75179
+ "audit": {
75180
+ "type": "array",
75181
+ "items": {
75182
+ "type": "object",
75183
+ "properties": {
75184
+ "id": {
75185
+ "type": "string"
75186
+ },
75187
+ "action": {
75188
+ "type": "string"
75189
+ },
75190
+ "grantId": {
75191
+ "type": "string"
75192
+ },
75193
+ "nodeId": {
75194
+ "type": "string"
75195
+ },
75196
+ "capabilityId": {
75197
+ "type": "string"
75198
+ },
75199
+ "at": {
75200
+ "type": "number"
75201
+ },
75202
+ "actor": {
75203
+ "type": "string"
75204
+ },
75205
+ "reason": {
75206
+ "type": "string"
75207
+ }
75208
+ },
75209
+ "required": [
75210
+ "id",
75211
+ "action",
75212
+ "grantId",
75213
+ "nodeId",
75214
+ "capabilityId",
75215
+ "at",
75216
+ "actor",
75217
+ "reason"
75218
+ ],
75219
+ "additionalProperties": false
75220
+ }
75221
+ }
75222
+ },
75223
+ "required": [
75224
+ "grants",
75225
+ "audit"
75226
+ ],
75227
+ "additionalProperties": false
75228
+ },
75229
+ "invokable": true
75230
+ },
75231
+ {
75232
+ "id": "devices.grants.revoke",
75233
+ "title": "Revoke a Device Capability Grant",
75234
+ "description": "Delete durable grants by grant id, by device, by capability, or any combination. Revoked grants are removed rather than flagged, so the next request for that capability asks the person again. Returns exactly what was removed.",
75235
+ "category": "runtime",
75236
+ "source": "builtin",
75237
+ "access": "authenticated",
75238
+ "transport": [
75239
+ "http",
75240
+ "ws"
75241
+ ],
75242
+ "scopes": [
75243
+ "write:config"
75244
+ ],
75245
+ "http": {
75246
+ "method": "POST",
75247
+ "path": "/api/devices/grants/revoke"
75248
+ },
75249
+ "inputSchema": {
75250
+ "type": "object",
75251
+ "properties": {
75252
+ "grantId": {
75253
+ "type": "string"
75254
+ },
75255
+ "nodeId": {
75256
+ "type": "string"
75257
+ },
75258
+ "capabilityId": {
75259
+ "type": "string"
75260
+ },
75261
+ "note": {
75262
+ "type": "string"
75263
+ }
75264
+ },
75265
+ "additionalProperties": false
75266
+ },
75267
+ "outputSchema": {
75268
+ "type": "object",
75269
+ "properties": {
75270
+ "revoked": {
75271
+ "type": "number"
75272
+ },
75273
+ "removals": {
75274
+ "type": "array",
75275
+ "items": {
75276
+ "type": "object",
75277
+ "properties": {
75278
+ "grantId": {
75279
+ "type": "string"
75280
+ },
75281
+ "nodeId": {
75282
+ "type": "string"
75283
+ },
75284
+ "capabilityId": {
75285
+ "type": "string"
75286
+ },
75287
+ "scope": {
75288
+ "type": "string"
75289
+ },
75290
+ "reason": {
75291
+ "type": "string"
75292
+ },
75293
+ "removedAt": {
75294
+ "type": "number"
75295
+ }
75296
+ },
75297
+ "required": [
75298
+ "grantId",
75299
+ "nodeId",
75300
+ "capabilityId",
75301
+ "scope",
75302
+ "reason",
75303
+ "removedAt"
75304
+ ],
75305
+ "additionalProperties": false
75306
+ }
75307
+ }
75308
+ },
75309
+ "required": [
75310
+ "revoked",
75311
+ "removals"
75312
+ ],
75313
+ "additionalProperties": false
75314
+ },
75315
+ "invokable": true
75316
+ },
75317
+ {
75318
+ "id": "devices.housekeeping.run",
75319
+ "title": "Run Device Housekeeping",
75320
+ "description": "Sweep the device grants ledger and the retained captures now: expired and orphaned grants removed, captures past their retention window deleted, torn or missing capture files reaped. Returns the itemised disclosure of everything removed and why.",
75321
+ "category": "runtime",
75322
+ "source": "builtin",
75323
+ "access": "authenticated",
75324
+ "transport": [
75325
+ "http",
75326
+ "ws"
75327
+ ],
75328
+ "scopes": [
75329
+ "write:config"
75330
+ ],
75331
+ "http": {
75332
+ "method": "POST",
75333
+ "path": "/api/devices/housekeeping"
75334
+ },
75335
+ "inputSchema": {
75336
+ "type": "object",
75337
+ "properties": {},
75338
+ "additionalProperties": false
75339
+ },
75340
+ "outputSchema": {
75341
+ "type": "object",
75342
+ "properties": {
75343
+ "summary": {
75344
+ "type": "string"
75345
+ },
75346
+ "sweptAt": {
75347
+ "type": "number"
75348
+ },
75349
+ "grantsRemoved": {
75350
+ "type": "array",
75351
+ "items": {
75352
+ "type": "object",
75353
+ "properties": {
75354
+ "grantId": {
75355
+ "type": "string"
75356
+ },
75357
+ "nodeId": {
75358
+ "type": "string"
75359
+ },
75360
+ "capabilityId": {
75361
+ "type": "string"
75362
+ },
75363
+ "scope": {
75364
+ "type": "string"
75365
+ },
75366
+ "reason": {
75367
+ "type": "string"
75368
+ },
75369
+ "removedAt": {
75370
+ "type": "number"
75371
+ }
75372
+ },
75373
+ "required": [
75374
+ "grantId",
75375
+ "nodeId",
75376
+ "capabilityId",
75377
+ "scope",
75378
+ "reason",
75379
+ "removedAt"
75380
+ ],
75381
+ "additionalProperties": false
75382
+ }
75383
+ },
75384
+ "grantsRetained": {
75385
+ "type": "number"
75386
+ },
75387
+ "capturesRemoved": {
75388
+ "type": "array",
75389
+ "items": {
75390
+ "type": "object",
75391
+ "properties": {
75392
+ "artifactId": {
75393
+ "type": "string"
75394
+ },
75395
+ "nodeId": {
75396
+ "type": "string"
75397
+ },
75398
+ "capabilityId": {
75399
+ "type": "string"
75400
+ },
75401
+ "fileName": {
75402
+ "type": "string"
75403
+ },
75404
+ "reason": {
75405
+ "type": "string"
75406
+ },
75407
+ "removedAt": {
75408
+ "type": "number"
75409
+ },
75410
+ "byteLength": {
75411
+ "type": "number"
75412
+ }
75413
+ },
75414
+ "required": [
75415
+ "artifactId",
75416
+ "nodeId",
75417
+ "capabilityId",
75418
+ "fileName",
75419
+ "reason",
75420
+ "removedAt",
75421
+ "byteLength"
75422
+ ],
75423
+ "additionalProperties": false
75424
+ }
75425
+ },
75426
+ "capturesRetained": {
75427
+ "type": "number"
75428
+ },
75429
+ "bytesReclaimed": {
75430
+ "type": "number"
75431
+ }
75432
+ },
75433
+ "required": [
75434
+ "summary",
75435
+ "sweptAt",
75436
+ "grantsRemoved",
75437
+ "grantsRetained",
75438
+ "capturesRemoved",
75439
+ "capturesRetained",
75440
+ "bytesReclaimed"
75441
+ ],
75442
+ "additionalProperties": false
75443
+ },
75444
+ "invokable": true
75445
+ },
75446
+ {
75447
+ "id": "devices.nodes.list",
75448
+ "title": "List Paired Device Nodes",
75449
+ "description": "Every phone paired as a device node, with the capabilities it announced, the ones it did not offer, and the ones it announced but cannot currently serve because its connection is not a secure context. Node-kind neutral: a web app node and a native app node are described identically.",
75450
+ "category": "runtime",
75451
+ "source": "builtin",
75452
+ "access": "authenticated",
75453
+ "transport": [
75454
+ "http",
75455
+ "ws"
75456
+ ],
75457
+ "scopes": [
75458
+ "read:remote"
75459
+ ],
75460
+ "http": {
75461
+ "method": "GET",
75462
+ "path": "/api/devices/nodes"
75463
+ },
75464
+ "inputSchema": {
75465
+ "type": "object",
75466
+ "properties": {},
75467
+ "additionalProperties": false
75468
+ },
75469
+ "outputSchema": {
75470
+ "type": "object",
75471
+ "properties": {
75472
+ "nodes": {
75473
+ "type": "array",
75474
+ "items": {
75475
+ "type": "object",
75476
+ "properties": {
75477
+ "nodeId": {
75478
+ "type": "string"
75479
+ },
75480
+ "nodeKind": {
75481
+ "type": "string"
75482
+ },
75483
+ "nodeKindLabel": {
75484
+ "type": "string"
75485
+ },
75486
+ "label": {
75487
+ "type": "string"
75488
+ },
75489
+ "platform": {
75490
+ "type": "string"
75491
+ },
75492
+ "appVersion": {
75493
+ "type": "string"
75494
+ },
75495
+ "contractVersion": {
75496
+ "type": "number"
75497
+ },
75498
+ "contractCompatible": {
75499
+ "type": "boolean"
75500
+ },
75501
+ "supported": {
75502
+ "type": "array",
75503
+ "items": {
75504
+ "type": "string"
75505
+ }
75506
+ },
75507
+ "undeclared": {
75508
+ "type": "array",
75509
+ "items": {
75510
+ "type": "string"
75511
+ }
75512
+ },
75513
+ "gatedBySecureContext": {
75514
+ "type": "array",
75515
+ "items": {
75516
+ "type": "string"
75517
+ }
75518
+ },
75519
+ "unknownDeclared": {
75520
+ "type": "array",
75521
+ "items": {
75522
+ "type": "string"
75523
+ }
75524
+ }
75525
+ },
75526
+ "required": [
75527
+ "nodeId",
75528
+ "nodeKind",
75529
+ "nodeKindLabel",
75530
+ "label",
75531
+ "platform",
75532
+ "appVersion",
75533
+ "contractVersion",
75534
+ "contractCompatible",
75535
+ "supported",
75536
+ "undeclared",
75537
+ "gatedBySecureContext",
75538
+ "unknownDeclared"
75539
+ ],
75540
+ "additionalProperties": false
75541
+ }
75542
+ },
75543
+ "capabilities": {
75544
+ "type": "array",
75545
+ "items": {
75546
+ "type": "object",
75547
+ "properties": {
75548
+ "id": {
75549
+ "type": "string"
75550
+ },
75551
+ "family": {
75552
+ "type": "string"
75553
+ },
75554
+ "title": {
75555
+ "type": "string"
75556
+ },
75557
+ "purpose": {
75558
+ "type": "string"
75559
+ },
75560
+ "effect": {
75561
+ "type": "string"
75562
+ },
75563
+ "sensitivity": {
75564
+ "type": "string"
75565
+ },
75566
+ "producesArtifact": {
75567
+ "type": "boolean"
75568
+ },
75569
+ "allowAlwaysOffered": {
75570
+ "type": "boolean"
75571
+ }
75572
+ },
75573
+ "required": [
75574
+ "id",
75575
+ "family",
75576
+ "title",
75577
+ "purpose",
75578
+ "effect",
75579
+ "sensitivity",
75580
+ "producesArtifact",
75581
+ "allowAlwaysOffered"
75582
+ ],
75583
+ "additionalProperties": false
75584
+ }
75585
+ },
75586
+ "mode": {
75587
+ "type": "string"
75588
+ },
75589
+ "allowAlwaysOffer": {
75590
+ "type": "string"
75591
+ },
75592
+ "captureRetentionHours": {
75593
+ "type": "number"
75594
+ }
75595
+ },
75596
+ "required": [
75597
+ "nodes",
75598
+ "capabilities",
75599
+ "mode",
75600
+ "allowAlwaysOffer",
75601
+ "captureRetentionHours"
75602
+ ],
75603
+ "additionalProperties": false
75604
+ },
75605
+ "invokable": true
75606
+ },
75070
75607
  {
75071
75608
  "id": "runtime.metrics.get",
75072
75609
  "title": "Runtime Metrics",
@@ -92153,10 +92690,10 @@
92153
92690
  }
92154
92691
  ],
92155
92692
  "schemaCoverage": {
92156
- "methods": 415,
92157
- "typedInputs": 415,
92693
+ "methods": 419,
92694
+ "typedInputs": 419,
92158
92695
  "genericInputs": 0,
92159
- "typedOutputs": 415,
92696
+ "typedOutputs": 419,
92160
92697
  "genericOutputs": 0
92161
92698
  },
92162
92699
  "eventCoverage": {
@@ -92165,8 +92702,8 @@
92165
92702
  "withWireEvents": 32
92166
92703
  },
92167
92704
  "validationCoverage": {
92168
- "methods": 415,
92169
- "validated": 408,
92705
+ "methods": 419,
92706
+ "validated": 412,
92170
92707
  "skippedGeneric": 0,
92171
92708
  "skippedUntyped": 7
92172
92709
  }