pi-cursor-sdk 0.5.2 → 0.5.4

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 (114) hide show
  1. package/CHANGELOG.md +66 -1
  2. package/README.md +62 -795
  3. package/dist/context.js +13 -7
  4. package/dist/cursor-agents-context.js +6 -6
  5. package/dist/cursor-api-key.js +1 -1
  6. package/dist/cursor-bridge-contract.js +1 -13
  7. package/dist/cursor-cloud-local-state.js +0 -1
  8. package/dist/cursor-config.js +1 -17
  9. package/dist/cursor-custom-subagent-definitions.js +1 -1
  10. package/dist/cursor-fallback-models.generated.js +665 -1
  11. package/dist/cursor-live-run-coordinator.js +1 -0
  12. package/dist/cursor-local-agent-ownership.js +17 -0
  13. package/dist/cursor-mcp-timeout-override.js +7 -18
  14. package/dist/cursor-native-tool-display-replay.js +5 -5
  15. package/dist/cursor-native-tools.js +11 -0
  16. package/dist/cursor-pi-tool-bridge-diagnostics.js +4 -0
  17. package/dist/cursor-pi-tool-bridge-env.js +25 -2
  18. package/dist/cursor-pi-tool-bridge-run.js +10 -3
  19. package/dist/cursor-pi-tool-bridge-server.js +98 -48
  20. package/dist/cursor-pi-tool-bridge-snapshot.js +1 -1
  21. package/dist/cursor-pi-tool-bridge.js +4 -12
  22. package/dist/cursor-provider-errors.js +2 -8
  23. package/dist/cursor-provider-live-run-drain.js +8 -3
  24. package/dist/cursor-provider-overflow.js +7 -21
  25. package/dist/cursor-provider-turn-prepare.js +8 -1
  26. package/dist/cursor-provider-turn-runner.js +17 -6
  27. package/dist/cursor-provider-turn-summary.js +1 -1
  28. package/dist/cursor-provider.js +1 -4
  29. package/dist/cursor-runtime-state.js +3 -3
  30. package/dist/cursor-sdk-event-debug.js +2 -2
  31. package/dist/cursor-sdk-output-filter.js +1 -1
  32. package/dist/cursor-sdk-process-error-guard.js +1 -2
  33. package/dist/cursor-session-agent-cleanup.js +10 -1
  34. package/dist/cursor-session-agent-lifecycle.js +2 -2
  35. package/dist/cursor-session-agent-lineage.js +11 -7
  36. package/dist/cursor-session-agent-resume.js +15 -9
  37. package/dist/cursor-session-agent.js +28 -15
  38. package/dist/cursor-session-scope.js +28 -21
  39. package/dist/cursor-session-settings.js +3 -3
  40. package/dist/cursor-session-store.js +2 -2
  41. package/dist/cursor-state.js +26 -29
  42. package/dist/cursor-tool-lifecycle.js +0 -3
  43. package/dist/cursor-tool-manifest.js +3 -1
  44. package/dist/cursor-tool-presentation-registry.js +2 -4
  45. package/dist/cursor-tool-visibility.js +0 -3
  46. package/dist/cursor-transcript-tool-specs.js +1 -2
  47. package/dist/index.js +21 -0
  48. package/dist/model-discovery.js +8 -10
  49. package/dist/model-list-cache.js +4 -9
  50. package/docs/cursor-live-smoke-checklist.md +4 -4
  51. package/docs/cursor-model-ux-spec.md +36 -19
  52. package/docs/cursor-native-tool-replay.md +8 -5
  53. package/docs/cursor-native-tool-visual-audit.md +1 -1
  54. package/docs/cursor-testing-lessons.md +39 -9
  55. package/docs/cursor-tool-surfaces.md +48 -4
  56. package/docs/development.md +93 -0
  57. package/docs/platform-smoke-implementation.md +3 -2
  58. package/docs/reference.md +806 -0
  59. package/package.json +13 -11
  60. package/scripts/platform-smoke/artifact-secrets.mjs +13 -4
  61. package/scripts/platform-smoke/local-resume-runner.mjs +0 -1
  62. package/scripts/platform-smoke/target-runtime.mjs +4 -2
  63. package/scripts/platform-smoke/targets.mjs +0 -1
  64. package/shared/cursor-sdk-output-filter.d.mts +2 -0
  65. package/shared/cursor-sdk-output-filter.mjs +92 -28
  66. package/shared/cursor-sensitive-text.d.mts +1 -0
  67. package/shared/cursor-sensitive-text.mjs +7 -0
  68. package/src/context.ts +18 -11
  69. package/src/cursor-agents-context.ts +6 -6
  70. package/src/cursor-api-key.ts +1 -1
  71. package/src/cursor-bridge-contract.ts +1 -15
  72. package/src/cursor-cloud-local-state.ts +0 -2
  73. package/src/cursor-config.ts +1 -24
  74. package/src/cursor-custom-subagent-definitions.ts +1 -1
  75. package/src/cursor-fallback-models.generated.ts +665 -1
  76. package/src/cursor-live-run-coordinator.ts +5 -0
  77. package/src/cursor-local-agent-ownership.ts +18 -0
  78. package/src/cursor-mcp-timeout-override.ts +7 -31
  79. package/src/cursor-native-tool-display-replay.ts +4 -6
  80. package/src/cursor-native-tools.ts +14 -0
  81. package/src/cursor-pi-tool-bridge-diagnostics.ts +17 -0
  82. package/src/cursor-pi-tool-bridge-env.ts +31 -2
  83. package/src/cursor-pi-tool-bridge-run.ts +10 -3
  84. package/src/cursor-pi-tool-bridge-server.ts +89 -45
  85. package/src/cursor-pi-tool-bridge-snapshot.ts +0 -1
  86. package/src/cursor-pi-tool-bridge.ts +2 -18
  87. package/src/cursor-provider-errors.ts +2 -10
  88. package/src/cursor-provider-live-run-drain.ts +8 -2
  89. package/src/cursor-provider-overflow.ts +6 -24
  90. package/src/cursor-provider-turn-prepare.ts +10 -1
  91. package/src/cursor-provider-turn-runner.ts +17 -6
  92. package/src/cursor-provider-turn-summary.ts +1 -1
  93. package/src/cursor-provider.ts +0 -5
  94. package/src/cursor-runtime-state.ts +3 -3
  95. package/src/cursor-sdk-event-debug.ts +2 -2
  96. package/src/cursor-sdk-output-filter.ts +2 -1
  97. package/src/cursor-sdk-process-error-guard.ts +1 -3
  98. package/src/cursor-session-agent-cleanup.ts +6 -1
  99. package/src/cursor-session-agent-lifecycle.ts +2 -2
  100. package/src/cursor-session-agent-lineage.ts +10 -5
  101. package/src/cursor-session-agent-resume.ts +14 -7
  102. package/src/cursor-session-agent.ts +31 -15
  103. package/src/cursor-session-scope.ts +34 -20
  104. package/src/cursor-session-settings.ts +3 -3
  105. package/src/cursor-session-store.ts +2 -2
  106. package/src/cursor-state.ts +34 -41
  107. package/src/cursor-tool-lifecycle.ts +0 -4
  108. package/src/cursor-tool-manifest.ts +4 -1
  109. package/src/cursor-tool-presentation-registry.ts +3 -5
  110. package/src/cursor-tool-visibility.ts +0 -4
  111. package/src/cursor-transcript-tool-specs.ts +0 -3
  112. package/src/index.ts +18 -0
  113. package/src/model-discovery.ts +7 -9
  114. package/src/model-list-cache.ts +4 -10
@@ -1,6 +1,6 @@
1
1
  import type { ModelListItem } from "@cursor/sdk";
2
2
 
3
- // Generated with @cursor/sdk@1.0.36 from 45 Cursor models.
3
+ // Generated with @cursor/sdk@1.0.37 from 48 Cursor models.
4
4
  // Refresh with: npm run refresh:cursor-snapshots -- --write
5
5
  // Do not add secrets; this file stores public model metadata only.
6
6
  export const FALLBACK_MODEL_ITEMS = [
@@ -913,6 +913,407 @@ export const FALLBACK_MODEL_ITEMS = [
913
913
  }
914
914
  ]
915
915
  },
916
+ {
917
+ id: "claude-haiku-5-5",
918
+ displayName: "Claude Haiku 5.5",
919
+ parameters: [
920
+ {
921
+ id: "thinking",
922
+ displayName: "Thinking",
923
+ values: [
924
+ {
925
+ value: "false"
926
+ },
927
+ {
928
+ value: "true"
929
+ }
930
+ ]
931
+ },
932
+ {
933
+ id: "context",
934
+ displayName: "Context",
935
+ values: [
936
+ {
937
+ value: "300k",
938
+ displayName: "300K"
939
+ },
940
+ {
941
+ value: "1m",
942
+ displayName: "1M"
943
+ }
944
+ ]
945
+ },
946
+ {
947
+ id: "reasoning_effort",
948
+ displayName: "Effort",
949
+ values: [
950
+ {
951
+ value: "low",
952
+ displayName: "Low"
953
+ },
954
+ {
955
+ value: "medium",
956
+ displayName: "Medium"
957
+ },
958
+ {
959
+ value: "high",
960
+ displayName: "High"
961
+ },
962
+ {
963
+ value: "xhigh",
964
+ displayName: "Extra High"
965
+ },
966
+ {
967
+ value: "max",
968
+ displayName: "Max"
969
+ }
970
+ ]
971
+ }
972
+ ],
973
+ variants: [
974
+ {
975
+ params: [
976
+ {
977
+ id: "thinking",
978
+ value: "false"
979
+ },
980
+ {
981
+ id: "context",
982
+ value: "300k"
983
+ },
984
+ {
985
+ id: "reasoning_effort",
986
+ value: "low"
987
+ }
988
+ ],
989
+ displayName: "Claude Haiku 5.5 Low No Thinking"
990
+ },
991
+ {
992
+ params: [
993
+ {
994
+ id: "thinking",
995
+ value: "false"
996
+ },
997
+ {
998
+ id: "context",
999
+ value: "300k"
1000
+ },
1001
+ {
1002
+ id: "reasoning_effort",
1003
+ value: "medium"
1004
+ }
1005
+ ],
1006
+ displayName: "Claude Haiku 5.5 Medium No Thinking"
1007
+ },
1008
+ {
1009
+ params: [
1010
+ {
1011
+ id: "thinking",
1012
+ value: "false"
1013
+ },
1014
+ {
1015
+ id: "context",
1016
+ value: "300k"
1017
+ },
1018
+ {
1019
+ id: "reasoning_effort",
1020
+ value: "high"
1021
+ }
1022
+ ],
1023
+ displayName: "Claude Haiku 5.5 High No Thinking"
1024
+ },
1025
+ {
1026
+ params: [
1027
+ {
1028
+ id: "thinking",
1029
+ value: "false"
1030
+ },
1031
+ {
1032
+ id: "context",
1033
+ value: "300k"
1034
+ },
1035
+ {
1036
+ id: "reasoning_effort",
1037
+ value: "xhigh"
1038
+ }
1039
+ ],
1040
+ displayName: "Claude Haiku 5.5 Extra High No Thinking"
1041
+ },
1042
+ {
1043
+ params: [
1044
+ {
1045
+ id: "thinking",
1046
+ value: "false"
1047
+ },
1048
+ {
1049
+ id: "context",
1050
+ value: "300k"
1051
+ },
1052
+ {
1053
+ id: "reasoning_effort",
1054
+ value: "max"
1055
+ }
1056
+ ],
1057
+ displayName: "Claude Haiku 5.5 Max No Thinking"
1058
+ },
1059
+ {
1060
+ params: [
1061
+ {
1062
+ id: "thinking",
1063
+ value: "false"
1064
+ },
1065
+ {
1066
+ id: "context",
1067
+ value: "1m"
1068
+ },
1069
+ {
1070
+ id: "reasoning_effort",
1071
+ value: "low"
1072
+ }
1073
+ ],
1074
+ displayName: "Claude Haiku 5.5 1M Low No Thinking"
1075
+ },
1076
+ {
1077
+ params: [
1078
+ {
1079
+ id: "thinking",
1080
+ value: "false"
1081
+ },
1082
+ {
1083
+ id: "context",
1084
+ value: "1m"
1085
+ },
1086
+ {
1087
+ id: "reasoning_effort",
1088
+ value: "medium"
1089
+ }
1090
+ ],
1091
+ displayName: "Claude Haiku 5.5 1M Medium No Thinking"
1092
+ },
1093
+ {
1094
+ params: [
1095
+ {
1096
+ id: "thinking",
1097
+ value: "false"
1098
+ },
1099
+ {
1100
+ id: "context",
1101
+ value: "1m"
1102
+ },
1103
+ {
1104
+ id: "reasoning_effort",
1105
+ value: "high"
1106
+ }
1107
+ ],
1108
+ displayName: "Claude Haiku 5.5 1M High No Thinking"
1109
+ },
1110
+ {
1111
+ params: [
1112
+ {
1113
+ id: "thinking",
1114
+ value: "false"
1115
+ },
1116
+ {
1117
+ id: "context",
1118
+ value: "1m"
1119
+ },
1120
+ {
1121
+ id: "reasoning_effort",
1122
+ value: "xhigh"
1123
+ }
1124
+ ],
1125
+ displayName: "Claude Haiku 5.5 1M Extra High No Thinking"
1126
+ },
1127
+ {
1128
+ params: [
1129
+ {
1130
+ id: "thinking",
1131
+ value: "false"
1132
+ },
1133
+ {
1134
+ id: "context",
1135
+ value: "1m"
1136
+ },
1137
+ {
1138
+ id: "reasoning_effort",
1139
+ value: "max"
1140
+ }
1141
+ ],
1142
+ displayName: "Claude Haiku 5.5 1M Max No Thinking"
1143
+ },
1144
+ {
1145
+ params: [
1146
+ {
1147
+ id: "thinking",
1148
+ value: "true"
1149
+ },
1150
+ {
1151
+ id: "context",
1152
+ value: "300k"
1153
+ },
1154
+ {
1155
+ id: "reasoning_effort",
1156
+ value: "low"
1157
+ }
1158
+ ],
1159
+ displayName: "Claude Haiku 5.5 Low"
1160
+ },
1161
+ {
1162
+ params: [
1163
+ {
1164
+ id: "thinking",
1165
+ value: "true"
1166
+ },
1167
+ {
1168
+ id: "context",
1169
+ value: "300k"
1170
+ },
1171
+ {
1172
+ id: "reasoning_effort",
1173
+ value: "medium"
1174
+ }
1175
+ ],
1176
+ displayName: "Claude Haiku 5.5 Medium"
1177
+ },
1178
+ {
1179
+ params: [
1180
+ {
1181
+ id: "thinking",
1182
+ value: "true"
1183
+ },
1184
+ {
1185
+ id: "context",
1186
+ value: "300k"
1187
+ },
1188
+ {
1189
+ id: "reasoning_effort",
1190
+ value: "high"
1191
+ }
1192
+ ],
1193
+ displayName: "Claude Haiku 5.5 High"
1194
+ },
1195
+ {
1196
+ params: [
1197
+ {
1198
+ id: "thinking",
1199
+ value: "true"
1200
+ },
1201
+ {
1202
+ id: "context",
1203
+ value: "300k"
1204
+ },
1205
+ {
1206
+ id: "reasoning_effort",
1207
+ value: "xhigh"
1208
+ }
1209
+ ],
1210
+ displayName: "Claude Haiku 5.5 Extra High"
1211
+ },
1212
+ {
1213
+ params: [
1214
+ {
1215
+ id: "thinking",
1216
+ value: "true"
1217
+ },
1218
+ {
1219
+ id: "context",
1220
+ value: "300k"
1221
+ },
1222
+ {
1223
+ id: "reasoning_effort",
1224
+ value: "max"
1225
+ }
1226
+ ],
1227
+ displayName: "Claude Haiku 5.5 Max"
1228
+ },
1229
+ {
1230
+ params: [
1231
+ {
1232
+ id: "thinking",
1233
+ value: "true"
1234
+ },
1235
+ {
1236
+ id: "context",
1237
+ value: "1m"
1238
+ },
1239
+ {
1240
+ id: "reasoning_effort",
1241
+ value: "low"
1242
+ }
1243
+ ],
1244
+ displayName: "Claude Haiku 5.5 1M Low"
1245
+ },
1246
+ {
1247
+ params: [
1248
+ {
1249
+ id: "thinking",
1250
+ value: "true"
1251
+ },
1252
+ {
1253
+ id: "context",
1254
+ value: "1m"
1255
+ },
1256
+ {
1257
+ id: "reasoning_effort",
1258
+ value: "medium"
1259
+ }
1260
+ ],
1261
+ displayName: "Claude Haiku 5.5 1M Medium"
1262
+ },
1263
+ {
1264
+ params: [
1265
+ {
1266
+ id: "thinking",
1267
+ value: "true"
1268
+ },
1269
+ {
1270
+ id: "context",
1271
+ value: "1m"
1272
+ },
1273
+ {
1274
+ id: "reasoning_effort",
1275
+ value: "high"
1276
+ }
1277
+ ],
1278
+ displayName: "Claude Haiku 5.5 1M High",
1279
+ isDefault: true
1280
+ },
1281
+ {
1282
+ params: [
1283
+ {
1284
+ id: "thinking",
1285
+ value: "true"
1286
+ },
1287
+ {
1288
+ id: "context",
1289
+ value: "1m"
1290
+ },
1291
+ {
1292
+ id: "reasoning_effort",
1293
+ value: "xhigh"
1294
+ }
1295
+ ],
1296
+ displayName: "Claude Haiku 5.5 1M Extra High"
1297
+ },
1298
+ {
1299
+ params: [
1300
+ {
1301
+ id: "thinking",
1302
+ value: "true"
1303
+ },
1304
+ {
1305
+ id: "context",
1306
+ value: "1m"
1307
+ },
1308
+ {
1309
+ id: "reasoning_effort",
1310
+ value: "max"
1311
+ }
1312
+ ],
1313
+ displayName: "Claude Haiku 5.5 1M Max"
1314
+ }
1315
+ ]
1316
+ },
916
1317
  {
917
1318
  id: "claude-opus-4-5",
918
1319
  displayName: "Claude Opus 4.5",
@@ -6117,6 +6518,60 @@ export const FALLBACK_MODEL_ITEMS = [
6117
6518
  }
6118
6519
  ]
6119
6520
  },
6521
+ {
6522
+ id: "gemini-4-argon",
6523
+ displayName: "Gemini 4 Argon",
6524
+ parameters: [
6525
+ {
6526
+ id: "reasoning_effort",
6527
+ displayName: "Effort",
6528
+ values: [
6529
+ {
6530
+ value: "low",
6531
+ displayName: "Low"
6532
+ },
6533
+ {
6534
+ value: "medium",
6535
+ displayName: "Medium"
6536
+ },
6537
+ {
6538
+ value: "high",
6539
+ displayName: "High"
6540
+ }
6541
+ ]
6542
+ }
6543
+ ],
6544
+ variants: [
6545
+ {
6546
+ params: [
6547
+ {
6548
+ id: "reasoning_effort",
6549
+ value: "low"
6550
+ }
6551
+ ],
6552
+ displayName: "Gemini 4 Argon Low"
6553
+ },
6554
+ {
6555
+ params: [
6556
+ {
6557
+ id: "reasoning_effort",
6558
+ value: "medium"
6559
+ }
6560
+ ],
6561
+ displayName: "Gemini 4 Argon Medium",
6562
+ isDefault: true
6563
+ },
6564
+ {
6565
+ params: [
6566
+ {
6567
+ id: "reasoning_effort",
6568
+ value: "high"
6569
+ }
6570
+ ],
6571
+ displayName: "Gemini 4 Argon High"
6572
+ }
6573
+ ]
6574
+ },
6120
6575
  {
6121
6576
  id: "glm-5.2",
6122
6577
  displayName: "GLM 5.2",
@@ -9756,5 +10211,214 @@ export const FALLBACK_MODEL_ITEMS = [
9756
10211
  displayName: "Muse Spark 1.3"
9757
10212
  }
9758
10213
  ]
10214
+ },
10215
+ {
10216
+ id: "muse-wonder-1.0",
10217
+ displayName: "Muse Wonder",
10218
+ parameters: [
10219
+ {
10220
+ id: "context",
10221
+ displayName: "Context",
10222
+ values: [
10223
+ {
10224
+ value: "300k",
10225
+ displayName: "300K"
10226
+ },
10227
+ {
10228
+ value: "1m",
10229
+ displayName: "1M"
10230
+ }
10231
+ ]
10232
+ },
10233
+ {
10234
+ id: "reasoning_effort",
10235
+ displayName: "Reasoning",
10236
+ values: [
10237
+ {
10238
+ value: "minimal",
10239
+ displayName: "Minimal"
10240
+ },
10241
+ {
10242
+ value: "low",
10243
+ displayName: "Low"
10244
+ },
10245
+ {
10246
+ value: "medium",
10247
+ displayName: "Medium"
10248
+ },
10249
+ {
10250
+ value: "high",
10251
+ displayName: "High"
10252
+ },
10253
+ {
10254
+ value: "xhigh",
10255
+ displayName: "Extra High"
10256
+ },
10257
+ {
10258
+ value: "max",
10259
+ displayName: "Max"
10260
+ }
10261
+ ]
10262
+ }
10263
+ ],
10264
+ variants: [
10265
+ {
10266
+ params: [
10267
+ {
10268
+ id: "context",
10269
+ value: "300k"
10270
+ },
10271
+ {
10272
+ id: "reasoning_effort",
10273
+ value: "minimal"
10274
+ }
10275
+ ],
10276
+ displayName: "Muse Wonder Minimal"
10277
+ },
10278
+ {
10279
+ params: [
10280
+ {
10281
+ id: "context",
10282
+ value: "300k"
10283
+ },
10284
+ {
10285
+ id: "reasoning_effort",
10286
+ value: "low"
10287
+ }
10288
+ ],
10289
+ displayName: "Muse Wonder Low"
10290
+ },
10291
+ {
10292
+ params: [
10293
+ {
10294
+ id: "context",
10295
+ value: "300k"
10296
+ },
10297
+ {
10298
+ id: "reasoning_effort",
10299
+ value: "medium"
10300
+ }
10301
+ ],
10302
+ displayName: "Muse Wonder Medium"
10303
+ },
10304
+ {
10305
+ params: [
10306
+ {
10307
+ id: "context",
10308
+ value: "300k"
10309
+ },
10310
+ {
10311
+ id: "reasoning_effort",
10312
+ value: "high"
10313
+ }
10314
+ ],
10315
+ displayName: "Muse Wonder High"
10316
+ },
10317
+ {
10318
+ params: [
10319
+ {
10320
+ id: "context",
10321
+ value: "300k"
10322
+ },
10323
+ {
10324
+ id: "reasoning_effort",
10325
+ value: "xhigh"
10326
+ }
10327
+ ],
10328
+ displayName: "Muse Wonder Extra High"
10329
+ },
10330
+ {
10331
+ params: [
10332
+ {
10333
+ id: "context",
10334
+ value: "300k"
10335
+ },
10336
+ {
10337
+ id: "reasoning_effort",
10338
+ value: "max"
10339
+ }
10340
+ ],
10341
+ displayName: "Muse Wonder Max"
10342
+ },
10343
+ {
10344
+ params: [
10345
+ {
10346
+ id: "context",
10347
+ value: "1m"
10348
+ },
10349
+ {
10350
+ id: "reasoning_effort",
10351
+ value: "minimal"
10352
+ }
10353
+ ],
10354
+ displayName: "Muse Wonder 1M Minimal"
10355
+ },
10356
+ {
10357
+ params: [
10358
+ {
10359
+ id: "context",
10360
+ value: "1m"
10361
+ },
10362
+ {
10363
+ id: "reasoning_effort",
10364
+ value: "low"
10365
+ }
10366
+ ],
10367
+ displayName: "Muse Wonder 1M Low"
10368
+ },
10369
+ {
10370
+ params: [
10371
+ {
10372
+ id: "context",
10373
+ value: "1m"
10374
+ },
10375
+ {
10376
+ id: "reasoning_effort",
10377
+ value: "medium"
10378
+ }
10379
+ ],
10380
+ displayName: "Muse Wonder 1M Medium"
10381
+ },
10382
+ {
10383
+ params: [
10384
+ {
10385
+ id: "context",
10386
+ value: "1m"
10387
+ },
10388
+ {
10389
+ id: "reasoning_effort",
10390
+ value: "high"
10391
+ }
10392
+ ],
10393
+ displayName: "Muse Wonder 1M High"
10394
+ },
10395
+ {
10396
+ params: [
10397
+ {
10398
+ id: "context",
10399
+ value: "1m"
10400
+ },
10401
+ {
10402
+ id: "reasoning_effort",
10403
+ value: "xhigh"
10404
+ }
10405
+ ],
10406
+ displayName: "Muse Wonder 1M Extra High",
10407
+ isDefault: true
10408
+ },
10409
+ {
10410
+ params: [
10411
+ {
10412
+ id: "context",
10413
+ value: "1m"
10414
+ },
10415
+ {
10416
+ id: "reasoning_effort",
10417
+ value: "max"
10418
+ }
10419
+ ],
10420
+ displayName: "Muse Wonder 1M Max"
10421
+ }
10422
+ ]
9759
10423
  }
9760
10424
  ] satisfies ModelListItem[];
@@ -39,6 +39,8 @@ export interface CursorLiveSdkRun {
39
39
  export interface CursorLiveRun {
40
40
  id: string;
41
41
  agent: SDKAgent;
42
+ /** Effective ordinary main-loop policy captured when this SDK run was created. */
43
+ nativeToolsEnabled?: boolean;
42
44
  bridgeRun?: CursorPiToolBridgeRun;
43
45
  sessionBridgeRun?: CursorPiToolBridgeRun;
44
46
  sessionAgentScopeKey: string;
@@ -65,6 +67,8 @@ export interface CursorLiveRun {
65
67
  export interface CursorLiveRunCreateParams {
66
68
  id: string;
67
69
  agent: SDKAgent;
70
+ /** Effective ordinary main-loop policy captured when this SDK run was created. */
71
+ nativeToolsEnabled?: boolean;
68
72
  bridgeRun?: CursorPiToolBridgeRun;
69
73
  sessionBridgeRun?: CursorPiToolBridgeRun;
70
74
  sessionAgentScopeKey?: string;
@@ -293,6 +297,7 @@ export function createCursorLiveRunCoordinator(deps: CursorLiveRunCoordinatorDep
293
297
  const run: CursorLiveRun = {
294
298
  id: params.id,
295
299
  agent: params.agent,
300
+ nativeToolsEnabled: params.nativeToolsEnabled !== false,
296
301
  bridgeRun: params.bridgeRun,
297
302
  sessionBridgeRun: params.sessionBridgeRun,
298
303
  sessionAgentScopeKey,
@@ -0,0 +1,18 @@
1
+ import type { CursorSessionStoreIdentity } from "./cursor-session-store.js";
2
+
3
+ // ponytail: process-local claims protect extension-owned handles and cleanup.
4
+ // Cross-process SDK ownership requires an upstream store/agent lease contract.
5
+ // Unproven disposal retains the exact handle claim until process exit.
6
+ const claims = new Set<string>();
7
+
8
+ export function claimCursorLocalAgent(identity: CursorSessionStoreIdentity, agentId: string): (() => void) | undefined {
9
+ const key = JSON.stringify([identity.stateRoot, agentId]);
10
+ if (claims.has(key)) return undefined;
11
+ claims.add(key);
12
+ let released = false;
13
+ return () => {
14
+ if (released) return;
15
+ released = true;
16
+ claims.delete(key);
17
+ };
18
+ }