@pellux/goodvibes-contracts 1.9.0 → 1.10.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.9.0"
6
+ "version": "1.10.0"
7
7
  },
8
8
  "auth": {
9
9
  "modes": [
@@ -32421,6 +32421,148 @@
32421
32421
  },
32422
32422
  "invokable": true
32423
32423
  },
32424
+ {
32425
+ "id": "ops.memory.get",
32426
+ "title": "Get Memory Governance State",
32427
+ "description": "The MemoryGovernor snapshot: the current memory-pressure tier and budget, resident set size and heap, per-cache footprints the governor can shrink, which deferrable background jobs are paused, and the leak-tripwire state. Read-only observability so operators can see the daemon shedding memory before it approaches OOM.",
32428
+ "category": "health",
32429
+ "source": "builtin",
32430
+ "access": "authenticated",
32431
+ "transport": [
32432
+ "http",
32433
+ "ws"
32434
+ ],
32435
+ "scopes": [
32436
+ "read:health"
32437
+ ],
32438
+ "http": {
32439
+ "method": "GET",
32440
+ "path": "/api/ops/memory"
32441
+ },
32442
+ "inputSchema": {
32443
+ "type": "object",
32444
+ "properties": {},
32445
+ "additionalProperties": false
32446
+ },
32447
+ "outputSchema": {
32448
+ "type": "object",
32449
+ "properties": {
32450
+ "tier": {
32451
+ "type": "string",
32452
+ "enum": [
32453
+ "normal",
32454
+ "elevated",
32455
+ "high",
32456
+ "critical"
32457
+ ]
32458
+ },
32459
+ "budgetMb": {
32460
+ "type": "number"
32461
+ },
32462
+ "rssMb": {
32463
+ "type": "number"
32464
+ },
32465
+ "heapUsedMb": {
32466
+ "type": "number"
32467
+ },
32468
+ "heapTotalMb": {
32469
+ "type": "number"
32470
+ },
32471
+ "usedPct": {
32472
+ "type": "number"
32473
+ },
32474
+ "refusingExpensiveWork": {
32475
+ "type": "boolean"
32476
+ },
32477
+ "caches": {
32478
+ "type": "array",
32479
+ "items": {
32480
+ "type": "object",
32481
+ "properties": {
32482
+ "id": {
32483
+ "type": "string"
32484
+ },
32485
+ "name": {
32486
+ "type": "string"
32487
+ },
32488
+ "entries": {
32489
+ "type": "number"
32490
+ },
32491
+ "estimatedBytes": {
32492
+ "type": "number"
32493
+ }
32494
+ },
32495
+ "required": [
32496
+ "id",
32497
+ "name",
32498
+ "entries"
32499
+ ],
32500
+ "additionalProperties": false
32501
+ }
32502
+ },
32503
+ "pausedJobs": {
32504
+ "type": "array",
32505
+ "items": {
32506
+ "type": "string"
32507
+ }
32508
+ },
32509
+ "tripwire": {
32510
+ "type": "object",
32511
+ "properties": {
32512
+ "armed": {
32513
+ "type": "boolean"
32514
+ },
32515
+ "sustainedSec": {
32516
+ "type": "number"
32517
+ },
32518
+ "rateMbPerSec": {
32519
+ "type": "number"
32520
+ }
32521
+ },
32522
+ "required": [
32523
+ "armed",
32524
+ "sustainedSec",
32525
+ "rateMbPerSec"
32526
+ ],
32527
+ "additionalProperties": false
32528
+ },
32529
+ "thresholds": {
32530
+ "type": "object",
32531
+ "properties": {
32532
+ "elevatedPct": {
32533
+ "type": "number"
32534
+ },
32535
+ "highPct": {
32536
+ "type": "number"
32537
+ },
32538
+ "criticalPct": {
32539
+ "type": "number"
32540
+ }
32541
+ },
32542
+ "required": [
32543
+ "elevatedPct",
32544
+ "highPct",
32545
+ "criticalPct"
32546
+ ],
32547
+ "additionalProperties": false
32548
+ }
32549
+ },
32550
+ "required": [
32551
+ "tier",
32552
+ "budgetMb",
32553
+ "rssMb",
32554
+ "heapUsedMb",
32555
+ "usedPct",
32556
+ "refusingExpensiveWork",
32557
+ "caches",
32558
+ "pausedJobs",
32559
+ "tripwire",
32560
+ "thresholds"
32561
+ ],
32562
+ "additionalProperties": false
32563
+ },
32564
+ "invokable": true
32565
+ },
32424
32566
  {
32425
32567
  "id": "power.keepAwake.set",
32426
32568
  "title": "Set the Owner Keep-Awake Toggle",
@@ -32757,6 +32899,389 @@
32757
32899
  },
32758
32900
  "invokable": true
32759
32901
  },
32902
+ {
32903
+ "id": "voice.local.install",
32904
+ "title": "Install the Managed Local-Voice Runtime",
32905
+ "description": "One-act setup: download + checksum-verify the piper TTS engine, a default voice, and (where a pinned goodvibes-built bundle exists) the whisper.cpp STT engine with its default model into the goodvibes-managed directory, then point the voice.local.* config keys at the managed install — never overwriting a key you already set to a custom value (skipped keys are reported). After this, local TTS works with zero further configuration. Downloads only when you ask; a failed or checksum-mismatched download keeps nothing.",
32906
+ "category": "health",
32907
+ "source": "builtin",
32908
+ "access": "authenticated",
32909
+ "transport": [
32910
+ "http",
32911
+ "ws"
32912
+ ],
32913
+ "scopes": [
32914
+ "write:config"
32915
+ ],
32916
+ "http": {
32917
+ "method": "POST",
32918
+ "path": "/api/voice/local/install"
32919
+ },
32920
+ "inputSchema": {
32921
+ "type": "object",
32922
+ "properties": {},
32923
+ "additionalProperties": false
32924
+ },
32925
+ "outputSchema": {
32926
+ "type": "object",
32927
+ "properties": {
32928
+ "provisioned": {
32929
+ "type": "boolean"
32930
+ },
32931
+ "platform": {
32932
+ "anyOf": [
32933
+ {
32934
+ "type": "string"
32935
+ },
32936
+ {
32937
+ "type": "null"
32938
+ }
32939
+ ]
32940
+ },
32941
+ "tts": {
32942
+ "type": "object",
32943
+ "properties": {
32944
+ "engine": {
32945
+ "type": "string"
32946
+ },
32947
+ "state": {
32948
+ "type": "string",
32949
+ "enum": [
32950
+ "provisioned",
32951
+ "unsupported-platform",
32952
+ "download-failed",
32953
+ "checksum-mismatch"
32954
+ ]
32955
+ },
32956
+ "binaryPath": {
32957
+ "type": "string"
32958
+ },
32959
+ "modelPath": {
32960
+ "type": "string"
32961
+ },
32962
+ "reason": {
32963
+ "type": "string"
32964
+ }
32965
+ },
32966
+ "required": [
32967
+ "engine",
32968
+ "state"
32969
+ ],
32970
+ "additionalProperties": false
32971
+ },
32972
+ "stt": {
32973
+ "type": "object",
32974
+ "properties": {
32975
+ "engine": {
32976
+ "type": "string"
32977
+ },
32978
+ "state": {
32979
+ "type": "string",
32980
+ "enum": [
32981
+ "provisioned",
32982
+ "unsupported-platform",
32983
+ "download-failed",
32984
+ "checksum-mismatch",
32985
+ "bundle-unavailable",
32986
+ "sideload-mismatch"
32987
+ ]
32988
+ },
32989
+ "binaryPath": {
32990
+ "type": "string"
32991
+ },
32992
+ "modelPath": {
32993
+ "type": "string"
32994
+ },
32995
+ "reason": {
32996
+ "type": "string"
32997
+ }
32998
+ },
32999
+ "required": [
33000
+ "engine",
33001
+ "state"
33002
+ ],
33003
+ "additionalProperties": false
33004
+ },
33005
+ "components": {
33006
+ "type": "array",
33007
+ "items": {
33008
+ "type": "object",
33009
+ "properties": {
33010
+ "id": {
33011
+ "type": "string"
33012
+ },
33013
+ "state": {
33014
+ "type": "string",
33015
+ "enum": [
33016
+ "installed",
33017
+ "skipped",
33018
+ "failed"
33019
+ ]
33020
+ },
33021
+ "bytes": {
33022
+ "type": "number"
33023
+ },
33024
+ "error": {
33025
+ "type": "string"
33026
+ }
33027
+ },
33028
+ "required": [
33029
+ "id",
33030
+ "state"
33031
+ ],
33032
+ "additionalProperties": false
33033
+ }
33034
+ },
33035
+ "configured": {
33036
+ "type": "object",
33037
+ "properties": {
33038
+ "set": {
33039
+ "type": "array",
33040
+ "items": {
33041
+ "type": "object",
33042
+ "properties": {
33043
+ "key": {
33044
+ "type": "string"
33045
+ },
33046
+ "value": {
33047
+ "type": "string"
33048
+ }
33049
+ },
33050
+ "required": [
33051
+ "key",
33052
+ "value"
33053
+ ],
33054
+ "additionalProperties": false
33055
+ }
33056
+ },
33057
+ "skipped": {
33058
+ "type": "array",
33059
+ "items": {
33060
+ "type": "object",
33061
+ "properties": {
33062
+ "key": {
33063
+ "type": "string"
33064
+ },
33065
+ "reason": {
33066
+ "type": "string"
33067
+ }
33068
+ },
33069
+ "required": [
33070
+ "key",
33071
+ "reason"
33072
+ ],
33073
+ "additionalProperties": false
33074
+ }
33075
+ }
33076
+ },
33077
+ "required": [
33078
+ "set",
33079
+ "skipped"
33080
+ ],
33081
+ "additionalProperties": false
33082
+ }
33083
+ },
33084
+ "required": [
33085
+ "provisioned",
33086
+ "platform",
33087
+ "tts",
33088
+ "stt",
33089
+ "components",
33090
+ "configured"
33091
+ ],
33092
+ "additionalProperties": false
33093
+ },
33094
+ "invokable": true
33095
+ },
33096
+ {
33097
+ "id": "voice.local.status",
33098
+ "title": "Get Managed Local-Voice Runtime State",
33099
+ "description": "Whether the managed local voice runtime (piper TTS + a default voice) is installed: not-provisioned (with a size-labeled offer), partial, provisioned, or unsupported-platform. STT (whisper.cpp) reports its own managed state: goodvibes builds and pins the whisper.cpp bundle per platform (no official prebuilt exists; provisioning never compiles on your machine), so where a pinned bundle exists STT provisions like TTS, and elsewhere it reports unsupported honestly. While a voice.local.install run is active, the response also carries installInProgress — the live per-component progress (phase, byte sizes where known) of that run — so surfaces poll this read during the install to render real progress; the section is absent when no install is running. Read-only.",
33100
+ "category": "health",
33101
+ "source": "builtin",
33102
+ "access": "authenticated",
33103
+ "transport": [
33104
+ "http",
33105
+ "ws"
33106
+ ],
33107
+ "scopes": [
33108
+ "read:health"
33109
+ ],
33110
+ "http": {
33111
+ "method": "GET",
33112
+ "path": "/api/voice/local/status"
33113
+ },
33114
+ "inputSchema": {
33115
+ "type": "object",
33116
+ "properties": {},
33117
+ "additionalProperties": false
33118
+ },
33119
+ "outputSchema": {
33120
+ "type": "object",
33121
+ "properties": {
33122
+ "platform": {
33123
+ "anyOf": [
33124
+ {
33125
+ "type": "string"
33126
+ },
33127
+ {
33128
+ "type": "null"
33129
+ }
33130
+ ]
33131
+ },
33132
+ "state": {
33133
+ "type": "string",
33134
+ "enum": [
33135
+ "not-provisioned",
33136
+ "partial",
33137
+ "provisioned",
33138
+ "unsupported-platform"
33139
+ ]
33140
+ },
33141
+ "tts": {
33142
+ "type": "object",
33143
+ "properties": {
33144
+ "engine": {
33145
+ "type": "string"
33146
+ },
33147
+ "binaryPresent": {
33148
+ "type": "boolean"
33149
+ },
33150
+ "voicePresent": {
33151
+ "type": "boolean"
33152
+ },
33153
+ "binaryPath": {
33154
+ "type": "string"
33155
+ },
33156
+ "modelPath": {
33157
+ "type": "string"
33158
+ }
33159
+ },
33160
+ "required": [
33161
+ "engine",
33162
+ "binaryPresent",
33163
+ "voicePresent",
33164
+ "binaryPath",
33165
+ "modelPath"
33166
+ ],
33167
+ "additionalProperties": false
33168
+ },
33169
+ "stt": {
33170
+ "type": "object",
33171
+ "properties": {
33172
+ "engine": {
33173
+ "type": "string"
33174
+ },
33175
+ "supported": {
33176
+ "type": "boolean"
33177
+ },
33178
+ "state": {
33179
+ "type": "string",
33180
+ "enum": [
33181
+ "not-provisioned",
33182
+ "partial",
33183
+ "provisioned",
33184
+ "unsupported-platform"
33185
+ ]
33186
+ },
33187
+ "binaryPresent": {
33188
+ "type": "boolean"
33189
+ },
33190
+ "modelPresent": {
33191
+ "type": "boolean"
33192
+ },
33193
+ "binaryPath": {
33194
+ "type": "string"
33195
+ },
33196
+ "modelPath": {
33197
+ "type": "string"
33198
+ },
33199
+ "reason": {
33200
+ "type": "string"
33201
+ }
33202
+ },
33203
+ "required": [
33204
+ "engine",
33205
+ "supported",
33206
+ "state",
33207
+ "binaryPresent",
33208
+ "modelPresent",
33209
+ "binaryPath",
33210
+ "modelPath"
33211
+ ],
33212
+ "additionalProperties": false
33213
+ },
33214
+ "offerBytes": {
33215
+ "anyOf": [
33216
+ {
33217
+ "type": "number"
33218
+ },
33219
+ {
33220
+ "type": "null"
33221
+ }
33222
+ ]
33223
+ },
33224
+ "installInProgress": {
33225
+ "type": "object",
33226
+ "properties": {
33227
+ "startedAt": {
33228
+ "type": "number"
33229
+ },
33230
+ "components": {
33231
+ "type": "array",
33232
+ "items": {
33233
+ "type": "object",
33234
+ "properties": {
33235
+ "component": {
33236
+ "type": "string"
33237
+ },
33238
+ "phase": {
33239
+ "type": "string",
33240
+ "enum": [
33241
+ "skip",
33242
+ "download",
33243
+ "verify",
33244
+ "extract",
33245
+ "done",
33246
+ "error"
33247
+ ]
33248
+ },
33249
+ "message": {
33250
+ "type": "string"
33251
+ },
33252
+ "bytesTotal": {
33253
+ "type": "number"
33254
+ },
33255
+ "bytesDone": {
33256
+ "type": "number"
33257
+ }
33258
+ },
33259
+ "required": [
33260
+ "component",
33261
+ "phase"
33262
+ ],
33263
+ "additionalProperties": false
33264
+ }
33265
+ }
33266
+ },
33267
+ "required": [
33268
+ "startedAt",
33269
+ "components"
33270
+ ],
33271
+ "additionalProperties": false
33272
+ }
33273
+ },
33274
+ "required": [
33275
+ "platform",
33276
+ "state",
33277
+ "tts",
33278
+ "stt",
33279
+ "offerBytes"
33280
+ ],
33281
+ "additionalProperties": false
33282
+ },
33283
+ "invokable": true
33284
+ },
32760
33285
  {
32761
33286
  "id": "intelligence.snapshot",
32762
33287
  "title": "Intelligence Snapshot",
@@ -91544,10 +92069,10 @@
91544
92069
  }
91545
92070
  ],
91546
92071
  "schemaCoverage": {
91547
- "methods": 412,
91548
- "typedInputs": 412,
92072
+ "methods": 415,
92073
+ "typedInputs": 415,
91549
92074
  "genericInputs": 0,
91550
- "typedOutputs": 412,
92075
+ "typedOutputs": 415,
91551
92076
  "genericOutputs": 0
91552
92077
  },
91553
92078
  "eventCoverage": {
@@ -91556,8 +92081,8 @@
91556
92081
  "withWireEvents": 32
91557
92082
  },
91558
92083
  "validationCoverage": {
91559
- "methods": 412,
91560
- "validated": 405,
92084
+ "methods": 415,
92085
+ "validated": 408,
91561
92086
  "skippedGeneric": 0,
91562
92087
  "skippedUntyped": 7
91563
92088
  }