@pellux/goodvibes-contracts 1.7.1 → 1.8.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.7.1"
6
+ "version": "1.8.0"
7
7
  },
8
8
  "auth": {
9
9
  "modes": [
@@ -407,7 +407,35 @@
407
407
  "recommendedActions": {
408
408
  "type": "array",
409
409
  "items": {
410
- "type": "string"
410
+ "type": "object",
411
+ "properties": {
412
+ "description": {
413
+ "type": "string"
414
+ },
415
+ "command": {
416
+ "type": "object",
417
+ "properties": {
418
+ "name": {
419
+ "type": "string"
420
+ },
421
+ "args": {
422
+ "type": "array",
423
+ "items": {
424
+ "type": "string"
425
+ }
426
+ }
427
+ },
428
+ "required": [
429
+ "name",
430
+ "args"
431
+ ],
432
+ "additionalProperties": false
433
+ }
434
+ },
435
+ "required": [
436
+ "description"
437
+ ],
438
+ "additionalProperties": false
411
439
  }
412
440
  },
413
441
  "routeRecords": {
@@ -499,7 +527,7 @@
499
527
  {
500
528
  "id": "approvals.approve",
501
529
  "title": "Approve Approval",
502
- "description": "Approve a pending approval. Optionally pass selectedHunks (edit-tool approvals only): the daemon filters the approval's own edit list to those hunk indices server-side, so every surface produces identical modified-edit args. Omitting selectedHunks approves the whole request (back-compat). An out-of-range index or a non-edit approval is rejected with a 400.",
530
+ "description": "Approve a pending approval. Optionally pass selectedHunks (edit-tool approvals only): the daemon filters the approval's own edit list to those hunk indices server-side, so every surface produces identical modified-edit args. Omitting selectedHunks approves the whole request (back-compat). An out-of-range index or a non-edit approval is rejected with a 400. rememberTier generalizes the decision (a generalizing tier persists a durable rule and sweeps queued asks it covers); modifiedArgs carries an argument-modifying approval — e.g. the typed answer to a command's terminal prompt — to the waiting call (selectedHunks supersedes it when both are present). The response's recorded block reports what the broker actually recorded.",
503
531
  "category": "approvals",
504
532
  "source": "builtin",
505
533
  "access": "authenticated",
@@ -531,6 +559,46 @@
531
559
  "items": {
532
560
  "type": "number"
533
561
  }
562
+ },
563
+ "rememberTier": {
564
+ "type": "string",
565
+ "enum": [
566
+ "session",
567
+ "exact",
568
+ "command-class",
569
+ "path",
570
+ "tool"
571
+ ]
572
+ },
573
+ "reason": {
574
+ "type": "string"
575
+ },
576
+ "modifiedArgs": {
577
+ "type": "object",
578
+ "additionalProperties": {
579
+ "anyOf": [
580
+ {
581
+ "type": "string"
582
+ },
583
+ {
584
+ "type": "number"
585
+ },
586
+ {
587
+ "type": "boolean"
588
+ },
589
+ {
590
+ "type": "null"
591
+ },
592
+ {
593
+ "type": "object",
594
+ "additionalProperties": {}
595
+ },
596
+ {
597
+ "type": "array",
598
+ "items": {}
599
+ }
600
+ ]
601
+ }
534
602
  }
535
603
  },
536
604
  "required": [
@@ -761,6 +829,36 @@
761
829
  "additionalProperties": false
762
830
  }
763
831
  ]
832
+ },
833
+ "rememberOptions": {
834
+ "type": "array",
835
+ "items": {
836
+ "type": "object",
837
+ "properties": {
838
+ "tier": {
839
+ "type": "string",
840
+ "enum": [
841
+ "session",
842
+ "exact",
843
+ "command-class",
844
+ "path",
845
+ "tool"
846
+ ]
847
+ },
848
+ "label": {
849
+ "type": "string"
850
+ },
851
+ "detail": {
852
+ "type": "string"
853
+ }
854
+ },
855
+ "required": [
856
+ "tier",
857
+ "label",
858
+ "detail"
859
+ ],
860
+ "additionalProperties": false
861
+ }
764
862
  }
765
863
  },
766
864
  "required": [
@@ -799,6 +897,19 @@
799
897
  "remember": {
800
898
  "type": "boolean"
801
899
  },
900
+ "rememberTier": {
901
+ "type": "string",
902
+ "enum": [
903
+ "session",
904
+ "exact",
905
+ "command-class",
906
+ "path",
907
+ "tool"
908
+ ]
909
+ },
910
+ "reason": {
911
+ "type": "string"
912
+ },
802
913
  "modifiedArgs": {
803
914
  "type": "object",
804
915
  "additionalProperties": {
@@ -832,6 +943,12 @@
832
943
  ],
833
944
  "additionalProperties": false
834
945
  },
946
+ "fixSessionId": {
947
+ "type": "string"
948
+ },
949
+ "fixSessionError": {
950
+ "type": "string"
951
+ },
835
952
  "metadata": {
836
953
  "type": "object",
837
954
  "additionalProperties": {
@@ -913,6 +1030,44 @@
913
1030
  "audit"
914
1031
  ],
915
1032
  "additionalProperties": false
1033
+ },
1034
+ "recorded": {
1035
+ "type": "object",
1036
+ "properties": {
1037
+ "approved": {
1038
+ "type": "boolean"
1039
+ },
1040
+ "rememberTier": {
1041
+ "anyOf": [
1042
+ {
1043
+ "type": "string",
1044
+ "enum": [
1045
+ "session",
1046
+ "exact",
1047
+ "command-class",
1048
+ "path",
1049
+ "tool"
1050
+ ]
1051
+ },
1052
+ {
1053
+ "type": "null"
1054
+ }
1055
+ ]
1056
+ },
1057
+ "reasonStored": {
1058
+ "type": "boolean"
1059
+ },
1060
+ "modifiedArgsDelivered": {
1061
+ "type": "boolean"
1062
+ }
1063
+ },
1064
+ "required": [
1065
+ "approved",
1066
+ "rememberTier",
1067
+ "reasonStored",
1068
+ "modifiedArgsDelivered"
1069
+ ],
1070
+ "additionalProperties": false
916
1071
  }
917
1072
  },
918
1073
  "required": [
@@ -1181,6 +1336,36 @@
1181
1336
  "additionalProperties": false
1182
1337
  }
1183
1338
  ]
1339
+ },
1340
+ "rememberOptions": {
1341
+ "type": "array",
1342
+ "items": {
1343
+ "type": "object",
1344
+ "properties": {
1345
+ "tier": {
1346
+ "type": "string",
1347
+ "enum": [
1348
+ "session",
1349
+ "exact",
1350
+ "command-class",
1351
+ "path",
1352
+ "tool"
1353
+ ]
1354
+ },
1355
+ "label": {
1356
+ "type": "string"
1357
+ },
1358
+ "detail": {
1359
+ "type": "string"
1360
+ }
1361
+ },
1362
+ "required": [
1363
+ "tier",
1364
+ "label",
1365
+ "detail"
1366
+ ],
1367
+ "additionalProperties": false
1368
+ }
1184
1369
  }
1185
1370
  },
1186
1371
  "required": [
@@ -1219,6 +1404,19 @@
1219
1404
  "remember": {
1220
1405
  "type": "boolean"
1221
1406
  },
1407
+ "rememberTier": {
1408
+ "type": "string",
1409
+ "enum": [
1410
+ "session",
1411
+ "exact",
1412
+ "command-class",
1413
+ "path",
1414
+ "tool"
1415
+ ]
1416
+ },
1417
+ "reason": {
1418
+ "type": "string"
1419
+ },
1222
1420
  "modifiedArgs": {
1223
1421
  "type": "object",
1224
1422
  "additionalProperties": {
@@ -1252,6 +1450,12 @@
1252
1450
  ],
1253
1451
  "additionalProperties": false
1254
1452
  },
1453
+ "fixSessionId": {
1454
+ "type": "string"
1455
+ },
1456
+ "fixSessionError": {
1457
+ "type": "string"
1458
+ },
1255
1459
  "metadata": {
1256
1460
  "type": "object",
1257
1461
  "additionalProperties": {
@@ -1333,6 +1537,44 @@
1333
1537
  "audit"
1334
1538
  ],
1335
1539
  "additionalProperties": false
1540
+ },
1541
+ "recorded": {
1542
+ "type": "object",
1543
+ "properties": {
1544
+ "approved": {
1545
+ "type": "boolean"
1546
+ },
1547
+ "rememberTier": {
1548
+ "anyOf": [
1549
+ {
1550
+ "type": "string",
1551
+ "enum": [
1552
+ "session",
1553
+ "exact",
1554
+ "command-class",
1555
+ "path",
1556
+ "tool"
1557
+ ]
1558
+ },
1559
+ {
1560
+ "type": "null"
1561
+ }
1562
+ ]
1563
+ },
1564
+ "reasonStored": {
1565
+ "type": "boolean"
1566
+ },
1567
+ "modifiedArgsDelivered": {
1568
+ "type": "boolean"
1569
+ }
1570
+ },
1571
+ "required": [
1572
+ "approved",
1573
+ "rememberTier",
1574
+ "reasonStored",
1575
+ "modifiedArgsDelivered"
1576
+ ],
1577
+ "additionalProperties": false
1336
1578
  }
1337
1579
  },
1338
1580
  "required": [
@@ -1595,6 +1837,36 @@
1595
1837
  "additionalProperties": false
1596
1838
  }
1597
1839
  ]
1840
+ },
1841
+ "rememberOptions": {
1842
+ "type": "array",
1843
+ "items": {
1844
+ "type": "object",
1845
+ "properties": {
1846
+ "tier": {
1847
+ "type": "string",
1848
+ "enum": [
1849
+ "session",
1850
+ "exact",
1851
+ "command-class",
1852
+ "path",
1853
+ "tool"
1854
+ ]
1855
+ },
1856
+ "label": {
1857
+ "type": "string"
1858
+ },
1859
+ "detail": {
1860
+ "type": "string"
1861
+ }
1862
+ },
1863
+ "required": [
1864
+ "tier",
1865
+ "label",
1866
+ "detail"
1867
+ ],
1868
+ "additionalProperties": false
1869
+ }
1598
1870
  }
1599
1871
  },
1600
1872
  "required": [
@@ -1633,6 +1905,19 @@
1633
1905
  "remember": {
1634
1906
  "type": "boolean"
1635
1907
  },
1908
+ "rememberTier": {
1909
+ "type": "string",
1910
+ "enum": [
1911
+ "session",
1912
+ "exact",
1913
+ "command-class",
1914
+ "path",
1915
+ "tool"
1916
+ ]
1917
+ },
1918
+ "reason": {
1919
+ "type": "string"
1920
+ },
1636
1921
  "modifiedArgs": {
1637
1922
  "type": "object",
1638
1923
  "additionalProperties": {
@@ -1666,6 +1951,12 @@
1666
1951
  ],
1667
1952
  "additionalProperties": false
1668
1953
  },
1954
+ "fixSessionId": {
1955
+ "type": "string"
1956
+ },
1957
+ "fixSessionError": {
1958
+ "type": "string"
1959
+ },
1669
1960
  "metadata": {
1670
1961
  "type": "object",
1671
1962
  "additionalProperties": {
@@ -1747,6 +2038,44 @@
1747
2038
  "audit"
1748
2039
  ],
1749
2040
  "additionalProperties": false
2041
+ },
2042
+ "recorded": {
2043
+ "type": "object",
2044
+ "properties": {
2045
+ "approved": {
2046
+ "type": "boolean"
2047
+ },
2048
+ "rememberTier": {
2049
+ "anyOf": [
2050
+ {
2051
+ "type": "string",
2052
+ "enum": [
2053
+ "session",
2054
+ "exact",
2055
+ "command-class",
2056
+ "path",
2057
+ "tool"
2058
+ ]
2059
+ },
2060
+ {
2061
+ "type": "null"
2062
+ }
2063
+ ]
2064
+ },
2065
+ "reasonStored": {
2066
+ "type": "boolean"
2067
+ },
2068
+ "modifiedArgsDelivered": {
2069
+ "type": "boolean"
2070
+ }
2071
+ },
2072
+ "required": [
2073
+ "approved",
2074
+ "rememberTier",
2075
+ "reasonStored",
2076
+ "modifiedArgsDelivered"
2077
+ ],
2078
+ "additionalProperties": false
1750
2079
  }
1751
2080
  },
1752
2081
  "required": [
@@ -1759,7 +2088,7 @@
1759
2088
  {
1760
2089
  "id": "approvals.deny",
1761
2090
  "title": "Deny Approval",
1762
- "description": "Deny a pending approval.",
2091
+ "description": "Deny a pending approval. rememberTier generalizes the denial (a generalizing tier persists a durable deny rule and sweeps queued asks it covers); reason is the user's free-text feedback, which rides the structured declined result so the model adapts instead of guessing. The response's recorded block reports what the broker actually recorded.",
1763
2092
  "category": "approvals",
1764
2093
  "source": "builtin",
1765
2094
  "access": "authenticated",
@@ -1785,6 +2114,19 @@
1785
2114
  },
1786
2115
  "remember": {
1787
2116
  "type": "boolean"
2117
+ },
2118
+ "rememberTier": {
2119
+ "type": "string",
2120
+ "enum": [
2121
+ "session",
2122
+ "exact",
2123
+ "command-class",
2124
+ "path",
2125
+ "tool"
2126
+ ]
2127
+ },
2128
+ "reason": {
2129
+ "type": "string"
1788
2130
  }
1789
2131
  },
1790
2132
  "required": [
@@ -2015,6 +2357,36 @@
2015
2357
  "additionalProperties": false
2016
2358
  }
2017
2359
  ]
2360
+ },
2361
+ "rememberOptions": {
2362
+ "type": "array",
2363
+ "items": {
2364
+ "type": "object",
2365
+ "properties": {
2366
+ "tier": {
2367
+ "type": "string",
2368
+ "enum": [
2369
+ "session",
2370
+ "exact",
2371
+ "command-class",
2372
+ "path",
2373
+ "tool"
2374
+ ]
2375
+ },
2376
+ "label": {
2377
+ "type": "string"
2378
+ },
2379
+ "detail": {
2380
+ "type": "string"
2381
+ }
2382
+ },
2383
+ "required": [
2384
+ "tier",
2385
+ "label",
2386
+ "detail"
2387
+ ],
2388
+ "additionalProperties": false
2389
+ }
2018
2390
  }
2019
2391
  },
2020
2392
  "required": [
@@ -2053,6 +2425,19 @@
2053
2425
  "remember": {
2054
2426
  "type": "boolean"
2055
2427
  },
2428
+ "rememberTier": {
2429
+ "type": "string",
2430
+ "enum": [
2431
+ "session",
2432
+ "exact",
2433
+ "command-class",
2434
+ "path",
2435
+ "tool"
2436
+ ]
2437
+ },
2438
+ "reason": {
2439
+ "type": "string"
2440
+ },
2056
2441
  "modifiedArgs": {
2057
2442
  "type": "object",
2058
2443
  "additionalProperties": {
@@ -2086,6 +2471,12 @@
2086
2471
  ],
2087
2472
  "additionalProperties": false
2088
2473
  },
2474
+ "fixSessionId": {
2475
+ "type": "string"
2476
+ },
2477
+ "fixSessionError": {
2478
+ "type": "string"
2479
+ },
2089
2480
  "metadata": {
2090
2481
  "type": "object",
2091
2482
  "additionalProperties": {
@@ -2167,6 +2558,44 @@
2167
2558
  "audit"
2168
2559
  ],
2169
2560
  "additionalProperties": false
2561
+ },
2562
+ "recorded": {
2563
+ "type": "object",
2564
+ "properties": {
2565
+ "approved": {
2566
+ "type": "boolean"
2567
+ },
2568
+ "rememberTier": {
2569
+ "anyOf": [
2570
+ {
2571
+ "type": "string",
2572
+ "enum": [
2573
+ "session",
2574
+ "exact",
2575
+ "command-class",
2576
+ "path",
2577
+ "tool"
2578
+ ]
2579
+ },
2580
+ {
2581
+ "type": "null"
2582
+ }
2583
+ ]
2584
+ },
2585
+ "reasonStored": {
2586
+ "type": "boolean"
2587
+ },
2588
+ "modifiedArgsDelivered": {
2589
+ "type": "boolean"
2590
+ }
2591
+ },
2592
+ "required": [
2593
+ "approved",
2594
+ "rememberTier",
2595
+ "reasonStored",
2596
+ "modifiedArgsDelivered"
2597
+ ],
2598
+ "additionalProperties": false
2170
2599
  }
2171
2600
  },
2172
2601
  "required": [
@@ -2267,6 +2696,8 @@
2267
2696
  "session_cached_approval",
2268
2697
  "session_cached_denial",
2269
2698
  "safety_guardrail",
2699
+ "user_rule_allow",
2700
+ "user_rule_deny",
2270
2701
  "user_approved",
2271
2702
  "user_denied"
2272
2703
  ]
@@ -2279,6 +2710,7 @@
2279
2710
  "runtime_mode",
2280
2711
  "session_override",
2281
2712
  "safety_check",
2713
+ "user_rule",
2282
2714
  "user_prompt"
2283
2715
  ]
2284
2716
  },
@@ -2551,6 +2983,36 @@
2551
2983
  "additionalProperties": false
2552
2984
  }
2553
2985
  ]
2986
+ },
2987
+ "rememberOptions": {
2988
+ "type": "array",
2989
+ "items": {
2990
+ "type": "object",
2991
+ "properties": {
2992
+ "tier": {
2993
+ "type": "string",
2994
+ "enum": [
2995
+ "session",
2996
+ "exact",
2997
+ "command-class",
2998
+ "path",
2999
+ "tool"
3000
+ ]
3001
+ },
3002
+ "label": {
3003
+ "type": "string"
3004
+ },
3005
+ "detail": {
3006
+ "type": "string"
3007
+ }
3008
+ },
3009
+ "required": [
3010
+ "tier",
3011
+ "label",
3012
+ "detail"
3013
+ ],
3014
+ "additionalProperties": false
3015
+ }
2554
3016
  }
2555
3017
  },
2556
3018
  "required": [
@@ -2589,6 +3051,19 @@
2589
3051
  "remember": {
2590
3052
  "type": "boolean"
2591
3053
  },
3054
+ "rememberTier": {
3055
+ "type": "string",
3056
+ "enum": [
3057
+ "session",
3058
+ "exact",
3059
+ "command-class",
3060
+ "path",
3061
+ "tool"
3062
+ ]
3063
+ },
3064
+ "reason": {
3065
+ "type": "string"
3066
+ },
2592
3067
  "modifiedArgs": {
2593
3068
  "type": "object",
2594
3069
  "additionalProperties": {
@@ -2622,6 +3097,12 @@
2622
3097
  ],
2623
3098
  "additionalProperties": false
2624
3099
  },
3100
+ "fixSessionId": {
3101
+ "type": "string"
3102
+ },
3103
+ "fixSessionError": {
3104
+ "type": "string"
3105
+ },
2625
3106
  "metadata": {
2626
3107
  "type": "object",
2627
3108
  "additionalProperties": {
@@ -7084,6 +7565,22 @@
7084
7565
  ],
7085
7566
  "additionalProperties": true
7086
7567
  }
7568
+ },
7569
+ "emptyState": {
7570
+ "type": "object",
7571
+ "properties": {
7572
+ "title": {
7573
+ "type": "string"
7574
+ },
7575
+ "body": {
7576
+ "type": "string"
7577
+ }
7578
+ },
7579
+ "required": [
7580
+ "title",
7581
+ "body"
7582
+ ],
7583
+ "additionalProperties": false
7087
7584
  }
7088
7585
  },
7089
7586
  "required": [
@@ -23720,6 +24217,15 @@
23720
24217
  },
23721
24218
  "fixSessionId": {
23722
24219
  "type": "string"
24220
+ },
24221
+ "fixSessionError": {
24222
+ "type": "string"
24223
+ },
24224
+ "fixSessionOffered": {
24225
+ "type": "boolean"
24226
+ },
24227
+ "retired": {
24228
+ "type": "boolean"
23723
24229
  }
23724
24230
  },
23725
24231
  "required": [
@@ -27884,7 +28390,7 @@
27884
28390
  {
27885
28391
  "id": "control.status",
27886
28392
  "title": "Daemon Status",
27887
- "description": "Return daemon status and version.",
28393
+ "description": "Return daemon status and version. Pass receipts=consume to also receive undelivered daemon receipts (update/crash/migration notices) and mark them delivered — exactly once across all consuming readers. Without the flag no receipts are returned or consumed, so identity probes and keepalives never eat them.",
27888
28394
  "category": "control-plane",
27889
28395
  "source": "builtin",
27890
28396
  "access": "authenticated",
@@ -27901,7 +28407,15 @@
27901
28407
  },
27902
28408
  "inputSchema": {
27903
28409
  "type": "object",
27904
- "properties": {},
28410
+ "properties": {
28411
+ "receipts": {
28412
+ "type": "string",
28413
+ "enum": [
28414
+ "consume"
28415
+ ],
28416
+ "description": "Set to \"consume\" to receive undelivered daemon receipts and mark them delivered. Omit for a read that never consumes receipts."
28417
+ }
28418
+ },
27905
28419
  "additionalProperties": false
27906
28420
  },
27907
28421
  "outputSchema": {
@@ -27912,6 +28426,29 @@
27912
28426
  },
27913
28427
  "version": {
27914
28428
  "type": "string"
28429
+ },
28430
+ "receipts": {
28431
+ "type": "array",
28432
+ "items": {
28433
+ "type": "object",
28434
+ "properties": {
28435
+ "id": {
28436
+ "type": "string"
28437
+ },
28438
+ "text": {
28439
+ "type": "string"
28440
+ },
28441
+ "at": {
28442
+ "type": "number"
28443
+ }
28444
+ },
28445
+ "required": [
28446
+ "id",
28447
+ "text",
28448
+ "at"
28449
+ ],
28450
+ "additionalProperties": false
28451
+ }
27915
28452
  }
27916
28453
  },
27917
28454
  "required": [
@@ -28046,6 +28583,32 @@
28046
28583
  "unpriced"
28047
28584
  ]
28048
28585
  },
28586
+ "costSource": {
28587
+ "anyOf": [
28588
+ {
28589
+ "type": "string",
28590
+ "enum": [
28591
+ "user",
28592
+ "provider",
28593
+ "catalog",
28594
+ "mixed"
28595
+ ]
28596
+ },
28597
+ {
28598
+ "type": "null"
28599
+ }
28600
+ ]
28601
+ },
28602
+ "pricingAsOf": {
28603
+ "anyOf": [
28604
+ {
28605
+ "type": "string"
28606
+ },
28607
+ {
28608
+ "type": "null"
28609
+ }
28610
+ ]
28611
+ },
28049
28612
  "pricedRecordCount": {
28050
28613
  "type": "number"
28051
28614
  },
@@ -28102,6 +28665,32 @@
28102
28665
  "unpriced"
28103
28666
  ]
28104
28667
  },
28668
+ "costSource": {
28669
+ "anyOf": [
28670
+ {
28671
+ "type": "string",
28672
+ "enum": [
28673
+ "user",
28674
+ "provider",
28675
+ "catalog",
28676
+ "mixed"
28677
+ ]
28678
+ },
28679
+ {
28680
+ "type": "null"
28681
+ }
28682
+ ]
28683
+ },
28684
+ "pricingAsOf": {
28685
+ "anyOf": [
28686
+ {
28687
+ "type": "string"
28688
+ },
28689
+ {
28690
+ "type": "null"
28691
+ }
28692
+ ]
28693
+ },
28105
28694
  "pricedRecordCount": {
28106
28695
  "type": "number"
28107
28696
  },
@@ -28137,6 +28726,8 @@
28137
28726
  "key",
28138
28727
  "costUsd",
28139
28728
  "costState",
28729
+ "costSource",
28730
+ "pricingAsOf",
28140
28731
  "pricedRecordCount",
28141
28732
  "unpricedRecordCount",
28142
28733
  "tokens"
@@ -28151,6 +28742,8 @@
28151
28742
  "dimension",
28152
28743
  "totalCostUsd",
28153
28744
  "costState",
28745
+ "costSource",
28746
+ "pricingAsOf",
28154
28747
  "pricedRecordCount",
28155
28748
  "unpricedRecordCount",
28156
28749
  "tokens",
@@ -28766,8 +29359,8 @@
28766
29359
  },
28767
29360
  {
28768
29361
  "id": "flags.graduation.report",
28769
- "title": "Feature Flag Graduation Report",
28770
- "description": "Return the feature-flag graduation report: every flag with its current default, graduation state (dark = default-off with no evidence, soaking = accumulating evidence, graduate-candidate = judged ready and awaiting a release decision, graduated = default flipped on, blocked = held off with a dated reason), and its validation evidence. Evidence is real-only: a flag with no instrumentation reports \"no evidence collected\", never a fabricated readiness; the permissions divergence simulation is the one wired instrumentation today. releaseBlockers lists every graduate-candidate flag — the release policy (bun run flags:graduation) fails while that list is non-empty, forcing each ready flag to flip on or record a dated blocker.",
29362
+ "title": "Feature Defaults Report",
29363
+ "description": "Return the feature defaults report: every platform capability with its current default, default-disposition state (dark = default-off with no evidence, soaking = accumulating evidence, graduate-candidate = judged ready and awaiting a release decision, graduated = default on, blocked = held off with a dated reason), and its validation evidence. Evidence is real-only: a capability with no instrumentation reports \"no evidence collected\", never a fabricated readiness; the permissions divergence simulation is the one wired instrumentation today. releaseBlockers lists every graduate-candidate entry — the release policy (bun run flags:graduation) fails while that list is non-empty, forcing each ready default to flip on or record a dated blocker.",
28771
29364
  "category": "flags",
28772
29365
  "source": "builtin",
28773
29366
  "access": "authenticated",
@@ -29167,6 +29760,18 @@
29167
29760
  "estimated"
29168
29761
  ]
29169
29762
  },
29763
+ "costSource": {
29764
+ "type": "string",
29765
+ "enum": [
29766
+ "user",
29767
+ "provider",
29768
+ "catalog",
29769
+ "mixed"
29770
+ ]
29771
+ },
29772
+ "pricingAsOf": {
29773
+ "type": "string"
29774
+ },
29170
29775
  "currentActivity": {
29171
29776
  "type": "object",
29172
29777
  "properties": {
@@ -29506,6 +30111,18 @@
29506
30111
  "unpriced",
29507
30112
  "estimated"
29508
30113
  ]
30114
+ },
30115
+ "costSource": {
30116
+ "type": "string",
30117
+ "enum": [
30118
+ "user",
30119
+ "provider",
30120
+ "catalog",
30121
+ "mixed"
30122
+ ]
30123
+ },
30124
+ "pricingAsOf": {
30125
+ "type": "string"
29509
30126
  }
29510
30127
  },
29511
30128
  "required": [
@@ -29874,6 +30491,18 @@
29874
30491
  "estimated"
29875
30492
  ]
29876
30493
  },
30494
+ "costSource": {
30495
+ "type": "string",
30496
+ "enum": [
30497
+ "user",
30498
+ "provider",
30499
+ "catalog",
30500
+ "mixed"
30501
+ ]
30502
+ },
30503
+ "pricingAsOf": {
30504
+ "type": "string"
30505
+ },
29877
30506
  "currentActivity": {
29878
30507
  "type": "object",
29879
30508
  "properties": {
@@ -30141,6 +30770,18 @@
30141
30770
  "estimated"
30142
30771
  ]
30143
30772
  },
30773
+ "costSource": {
30774
+ "type": "string",
30775
+ "enum": [
30776
+ "user",
30777
+ "provider",
30778
+ "catalog",
30779
+ "mixed"
30780
+ ]
30781
+ },
30782
+ "pricingAsOf": {
30783
+ "type": "string"
30784
+ },
30144
30785
  "currentActivity": {
30145
30786
  "type": "object",
30146
30787
  "properties": {
@@ -63683,6 +64324,118 @@
63683
64324
  },
63684
64325
  "invokable": true
63685
64326
  },
64327
+ {
64328
+ "id": "permissions.rules.delete",
64329
+ "title": "Delete a Durable Permission Rule",
64330
+ "description": "Delete one durable user-origin permission rule by id. The matching asks prompt again afterwards — deleting a grant is how a remembered decision is revoked. deleted:false when no rule with that id exists (an honest miss, not an error).",
64331
+ "category": "permissions",
64332
+ "source": "builtin",
64333
+ "access": "authenticated",
64334
+ "transport": [
64335
+ "ws"
64336
+ ],
64337
+ "scopes": [
64338
+ "write:sessions"
64339
+ ],
64340
+ "inputSchema": {
64341
+ "type": "object",
64342
+ "properties": {
64343
+ "ruleId": {
64344
+ "type": "string"
64345
+ }
64346
+ },
64347
+ "required": [
64348
+ "ruleId"
64349
+ ],
64350
+ "additionalProperties": false
64351
+ },
64352
+ "outputSchema": {
64353
+ "type": "object",
64354
+ "properties": {
64355
+ "deleted": {
64356
+ "type": "boolean"
64357
+ }
64358
+ },
64359
+ "required": [
64360
+ "deleted"
64361
+ ],
64362
+ "additionalProperties": false
64363
+ },
64364
+ "invokable": true
64365
+ },
64366
+ {
64367
+ "id": "permissions.rules.list",
64368
+ "title": "List Durable Permission Rules",
64369
+ "description": "List the durable user-origin permission rules written by remembered approval decisions (exact command / command class / path scope / whole tool), newest first — the persistent grants and denials the permission manager consults before ever prompting. Project-scoped.",
64370
+ "category": "permissions",
64371
+ "source": "builtin",
64372
+ "access": "authenticated",
64373
+ "transport": [
64374
+ "ws"
64375
+ ],
64376
+ "scopes": [
64377
+ "read:sessions"
64378
+ ],
64379
+ "inputSchema": {
64380
+ "type": "object",
64381
+ "properties": {},
64382
+ "additionalProperties": false
64383
+ },
64384
+ "outputSchema": {
64385
+ "type": "object",
64386
+ "properties": {
64387
+ "rules": {
64388
+ "type": "array",
64389
+ "items": {
64390
+ "type": "object",
64391
+ "properties": {
64392
+ "id": {
64393
+ "type": "string"
64394
+ },
64395
+ "effect": {
64396
+ "type": "string",
64397
+ "enum": [
64398
+ "allow",
64399
+ "deny"
64400
+ ]
64401
+ },
64402
+ "tier": {
64403
+ "type": "string",
64404
+ "enum": [
64405
+ "exact",
64406
+ "command-class",
64407
+ "path",
64408
+ "tool"
64409
+ ]
64410
+ },
64411
+ "tool": {
64412
+ "type": "string"
64413
+ },
64414
+ "description": {
64415
+ "type": "string"
64416
+ },
64417
+ "createdAt": {
64418
+ "type": "number"
64419
+ }
64420
+ },
64421
+ "required": [
64422
+ "id",
64423
+ "effect",
64424
+ "tier",
64425
+ "tool",
64426
+ "createdAt"
64427
+ ],
64428
+ "additionalProperties": false
64429
+ }
64430
+ }
64431
+ },
64432
+ "required": [
64433
+ "rules"
64434
+ ],
64435
+ "additionalProperties": false
64436
+ },
64437
+ "invokable": true
64438
+ },
63686
64439
  {
63687
64440
  "id": "principals.create",
63688
64441
  "title": "Create Principal",
@@ -64768,12 +65521,24 @@
64768
65521
  "enum": [
64769
65522
  "USD"
64770
65523
  ]
65524
+ },
65525
+ "source": {
65526
+ "type": "string",
65527
+ "enum": [
65528
+ "user",
65529
+ "provider",
65530
+ "catalog"
65531
+ ]
65532
+ },
65533
+ "asOf": {
65534
+ "type": "string"
64771
65535
  }
64772
65536
  },
64773
65537
  "required": [
64774
65538
  "inputPerMillionTokens",
64775
65539
  "outputPerMillionTokens",
64776
- "currency"
65540
+ "currency",
65541
+ "source"
64777
65542
  ],
64778
65543
  "additionalProperties": false
64779
65544
  }
@@ -65106,12 +65871,24 @@
65106
65871
  "enum": [
65107
65872
  "USD"
65108
65873
  ]
65874
+ },
65875
+ "source": {
65876
+ "type": "string",
65877
+ "enum": [
65878
+ "user",
65879
+ "provider",
65880
+ "catalog"
65881
+ ]
65882
+ },
65883
+ "asOf": {
65884
+ "type": "string"
65109
65885
  }
65110
65886
  },
65111
65887
  "required": [
65112
65888
  "inputPerMillionTokens",
65113
65889
  "outputPerMillionTokens",
65114
- "currency"
65890
+ "currency",
65891
+ "source"
65115
65892
  ],
65116
65893
  "additionalProperties": false
65117
65894
  }
@@ -65190,11 +65967,16 @@
65190
65967
  "pricingSource": {
65191
65968
  "type": "string",
65192
65969
  "enum": [
65970
+ "user",
65193
65971
  "catalog",
65194
65972
  "provider",
65973
+ "mixed",
65195
65974
  "none"
65196
65975
  ]
65197
65976
  },
65977
+ "pricingAsOf": {
65978
+ "type": "string"
65979
+ },
65198
65980
  "models": {
65199
65981
  "type": "array",
65200
65982
  "items": {
@@ -65232,12 +66014,24 @@
65232
66014
  "enum": [
65233
66015
  "USD"
65234
66016
  ]
66017
+ },
66018
+ "source": {
66019
+ "type": "string",
66020
+ "enum": [
66021
+ "user",
66022
+ "provider",
66023
+ "catalog"
66024
+ ]
66025
+ },
66026
+ "asOf": {
66027
+ "type": "string"
65235
66028
  }
65236
66029
  },
65237
66030
  "required": [
65238
66031
  "inputPerMillionTokens",
65239
66032
  "outputPerMillionTokens",
65240
- "currency"
66033
+ "currency",
66034
+ "source"
65241
66035
  ],
65242
66036
  "additionalProperties": false
65243
66037
  }
@@ -78383,10 +79177,13 @@
78383
79177
  "type": {
78384
79178
  "type": "string",
78385
79179
  "enum": [
78386
- "feature-flag",
79180
+ "setting",
78387
79181
  "configuration"
78388
79182
  ]
78389
79183
  },
79184
+ "featureId": {
79185
+ "type": "string"
79186
+ },
78390
79187
  "defaultState": {
78391
79188
  "type": "string"
78392
79189
  },
@@ -78421,6 +79218,7 @@
78421
79218
  "required": [
78422
79219
  "key",
78423
79220
  "type",
79221
+ "featureId",
78424
79222
  "defaultState",
78425
79223
  "currentState",
78426
79224
  "securityRelevant",
@@ -85738,6 +86536,12 @@
85738
86536
  },
85739
86537
  "label": {
85740
86538
  "type": "string"
86539
+ },
86540
+ "origin": {
86541
+ "type": "string"
86542
+ },
86543
+ "checkpointEligible": {
86544
+ "type": "boolean"
85741
86545
  }
85742
86546
  },
85743
86547
  "required": [
@@ -85759,6 +86563,12 @@
85759
86563
  },
85760
86564
  "label": {
85761
86565
  "type": "string"
86566
+ },
86567
+ "origin": {
86568
+ "type": "string"
86569
+ },
86570
+ "checkpointEligible": {
86571
+ "type": "boolean"
85762
86572
  }
85763
86573
  },
85764
86574
  "required": [
@@ -85818,6 +86628,12 @@
85818
86628
  },
85819
86629
  "label": {
85820
86630
  "type": "string"
86631
+ },
86632
+ "origin": {
86633
+ "type": "string"
86634
+ },
86635
+ "checkpointEligible": {
86636
+ "type": "boolean"
85821
86637
  }
85822
86638
  },
85823
86639
  "required": [
@@ -87864,10 +88680,10 @@
87864
88680
  }
87865
88681
  ],
87866
88682
  "schemaCoverage": {
87867
- "methods": 384,
87868
- "typedInputs": 384,
88683
+ "methods": 386,
88684
+ "typedInputs": 386,
87869
88685
  "genericInputs": 0,
87870
- "typedOutputs": 384,
88686
+ "typedOutputs": 386,
87871
88687
  "genericOutputs": 0
87872
88688
  },
87873
88689
  "eventCoverage": {
@@ -87876,8 +88692,8 @@
87876
88692
  "withWireEvents": 32
87877
88693
  },
87878
88694
  "validationCoverage": {
87879
- "methods": 384,
87880
- "validated": 382,
88695
+ "methods": 386,
88696
+ "validated": 384,
87881
88697
  "skippedGeneric": 0,
87882
88698
  "skippedUntyped": 2
87883
88699
  }