dodo-mcp 1.2.1 → 1.3.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 (142) hide show
  1. package/README.md +29 -6
  2. package/dist/cli/dataRecovery.js +38 -0
  3. package/dist/cli/dataRecovery.js.map +1 -0
  4. package/dist/cli/deployment.js +61 -0
  5. package/dist/cli/deployment.js.map +1 -0
  6. package/dist/cli/main.js +35 -1
  7. package/dist/cli/main.js.map +1 -1
  8. package/dist/config/globalConfig.js +3 -5
  9. package/dist/config/globalConfig.js.map +1 -1
  10. package/dist/errors.js +1 -1
  11. package/dist/errors.js.map +1 -1
  12. package/dist/ipc/server.js +2 -0
  13. package/dist/ipc/server.js.map +1 -1
  14. package/dist/ipc/timeouts.js +5 -0
  15. package/dist/ipc/timeouts.js.map +1 -0
  16. package/dist/platform/privateFs.js +32 -3
  17. package/dist/platform/privateFs.js.map +1 -1
  18. package/dist/platform/windowsPrivateAcl.js +90 -0
  19. package/dist/platform/windowsPrivateAcl.js.map +1 -0
  20. package/dist/security/outboundAddress.js +20 -0
  21. package/dist/security/outboundAddress.js.map +1 -0
  22. package/dist/server/aiAdmin.js +5 -4
  23. package/dist/server/aiAdmin.js.map +1 -1
  24. package/dist/server/appServer.js +2 -5
  25. package/dist/server/appServer.js.map +1 -1
  26. package/dist/server/bootstrap.js +14 -0
  27. package/dist/server/bootstrap.js.map +1 -1
  28. package/dist/server/configUi/index.html +3 -0
  29. package/dist/server/configUi/ui/dataRecovery.js +90 -0
  30. package/dist/server/configUi/ui/deployment.js +111 -0
  31. package/dist/server/configUi/ui/recovery.js +167 -0
  32. package/dist/server/configUi/workbench.js +23 -7
  33. package/dist/server/installationRuntime.js +3 -1
  34. package/dist/server/installationRuntime.js.map +1 -1
  35. package/dist/server/instructions.js.map +1 -1
  36. package/dist/server/ipcDispatch.js +219 -0
  37. package/dist/server/ipcDispatch.js.map +1 -1
  38. package/dist/server/localConfig.js +1 -1
  39. package/dist/server/localConfig.js.map +1 -1
  40. package/dist/server/stdioServer.js +2 -5
  41. package/dist/server/stdioServer.js.map +1 -1
  42. package/dist/services/ai/network.js +1 -18
  43. package/dist/services/ai/network.js.map +1 -1
  44. package/dist/services/ai/subagents.js +5 -2
  45. package/dist/services/ai/subagents.js.map +1 -1
  46. package/dist/services/assistance/verification.js +43 -10
  47. package/dist/services/assistance/verification.js.map +1 -1
  48. package/dist/services/changes/applier.js +472 -297
  49. package/dist/services/changes/applier.js.map +1 -1
  50. package/dist/services/git/gitService.js +150 -34
  51. package/dist/services/git/gitService.js.map +1 -1
  52. package/dist/services/jobs/jobManager.js +59 -2
  53. package/dist/services/jobs/jobManager.js.map +1 -1
  54. package/dist/services/jobs/spool.js +9 -3
  55. package/dist/services/jobs/spool.js.map +1 -1
  56. package/dist/services/multimodal/mediaService.js +6 -6
  57. package/dist/services/multimodal/mediaService.js.map +1 -1
  58. package/dist/services/recovery/configKeys.js +115 -0
  59. package/dist/services/recovery/configKeys.js.map +1 -0
  60. package/dist/services/recovery/configVault.js +361 -0
  61. package/dist/services/recovery/configVault.js.map +1 -0
  62. package/dist/services/recovery/contracts.js +24 -0
  63. package/dist/services/recovery/contracts.js.map +1 -0
  64. package/dist/services/recovery/databaseAwareness.js +179 -0
  65. package/dist/services/recovery/databaseAwareness.js.map +1 -0
  66. package/dist/services/recovery/deploymentArchive.js +129 -0
  67. package/dist/services/recovery/deploymentArchive.js.map +1 -0
  68. package/dist/services/recovery/deploymentContracts.js +70 -0
  69. package/dist/services/recovery/deploymentContracts.js.map +1 -0
  70. package/dist/services/recovery/deploymentHealth.js +143 -0
  71. package/dist/services/recovery/deploymentHealth.js.map +1 -0
  72. package/dist/services/recovery/deploymentMaintenance.js +197 -0
  73. package/dist/services/recovery/deploymentMaintenance.js.map +1 -0
  74. package/dist/services/recovery/deploymentService.js +429 -0
  75. package/dist/services/recovery/deploymentService.js.map +1 -0
  76. package/dist/services/recovery/deploymentSource.js +36 -0
  77. package/dist/services/recovery/deploymentSource.js.map +1 -0
  78. package/dist/services/recovery/dockerDeployment.js +172 -0
  79. package/dist/services/recovery/dockerDeployment.js.map +1 -0
  80. package/dist/services/recovery/drift.js +178 -0
  81. package/dist/services/recovery/drift.js.map +1 -0
  82. package/dist/services/recovery/evidence.js +127 -0
  83. package/dist/services/recovery/evidence.js.map +1 -0
  84. package/dist/services/recovery/gitCopies.js +219 -0
  85. package/dist/services/recovery/gitCopies.js.map +1 -0
  86. package/dist/services/recovery/history.js +423 -0
  87. package/dist/services/recovery/history.js.map +1 -0
  88. package/dist/services/recovery/recoveryService.js +521 -0
  89. package/dist/services/recovery/recoveryService.js.map +1 -0
  90. package/dist/services/recovery/storage.js +344 -0
  91. package/dist/services/recovery/storage.js.map +1 -0
  92. package/dist/services/schedules/scheduleService.js +9 -10
  93. package/dist/services/schedules/scheduleService.js.map +1 -1
  94. package/dist/store/db.js +71 -0
  95. package/dist/store/db.js.map +1 -1
  96. package/dist/tools/catalog.js +4 -0
  97. package/dist/tools/catalog.js.map +1 -1
  98. package/dist/tools/changeTools.js +1 -1
  99. package/dist/tools/changeTools.js.map +1 -1
  100. package/dist/tools/context.js +23 -3
  101. package/dist/tools/context.js.map +1 -1
  102. package/dist/tools/deploymentTools.js +58 -0
  103. package/dist/tools/deploymentTools.js.map +1 -0
  104. package/dist/tools/directTools.js +9 -5
  105. package/dist/tools/directTools.js.map +1 -1
  106. package/dist/tools/gitTools.js +7 -2
  107. package/dist/tools/gitTools.js.map +1 -1
  108. package/dist/tools/jobTools.js +4 -4
  109. package/dist/tools/jobTools.js.map +1 -1
  110. package/dist/tools/projectTools.js +1 -0
  111. package/dist/tools/projectTools.js.map +1 -1
  112. package/dist/tools/recoveryTools.js +79 -0
  113. package/dist/tools/recoveryTools.js.map +1 -0
  114. package/dist/tools/runtimeTools.js +1 -1
  115. package/dist/tools/runtimeTools.js.map +1 -1
  116. package/dist/tools/surface.js +6 -1
  117. package/dist/tools/surface.js.map +1 -1
  118. package/dist/tunnel/credentials.js +1 -1
  119. package/dist/tunnel/credentials.js.map +1 -1
  120. package/docs/ARCHITECTURE.md +82 -2
  121. package/docs/CI.md +118 -0
  122. package/docs/COMPATIBILITY.md +7 -6
  123. package/docs/EVALUATION.md +17 -12
  124. package/docs/MANUAL_ACCEPTANCE.md +59 -2
  125. package/docs/RECOVERY.md +448 -0
  126. package/docs/RELEASE_1.3.0.md +64 -0
  127. package/docs/RELEASE_NOTES.md +23 -0
  128. package/docs/SECURITY.md +112 -0
  129. package/docs/TEST_REPORT.md +300 -5
  130. package/docs/adr/051-source-recovery-foundation.md +45 -0
  131. package/docs/adr/052-reviewed-source-restore.md +50 -0
  132. package/docs/adr/053-content-drift-and-private-git-recovery.md +29 -0
  133. package/docs/adr/054-verified-source-checkpoints.md +58 -0
  134. package/docs/adr/055-reviewed-docker-deployments.md +42 -0
  135. package/docs/adr/056-owner-data-recovery.md +47 -0
  136. package/docs/adr/README.md +7 -0
  137. package/native/private-state-windows.cs +105 -0
  138. package/package.json +6 -1
  139. package/schemas/global-config.schema.json +34 -0
  140. package/schemas/tools.compact.json +175 -15
  141. package/schemas/tools.hybrid.json +350 -16
  142. package/schemas/tools.json +4883 -816
@@ -3,8 +3,8 @@
3
3
  "version": 1,
4
4
  "toolCount": 20,
5
5
  "defaultLiveToolCount": 20,
6
- "fullToolCount": 138,
7
- "defaultLiveFullToolCount": 134,
6
+ "fullToolCount": 158,
7
+ "defaultLiveFullToolCount": 154,
8
8
  "optionalMcpFeatures": {
9
9
  "subagents": {
10
10
  "configKey": "exposeSubagentsToMcp",
@@ -21,15 +21,15 @@
21
21
  "stats": {
22
22
  "compact": {
23
23
  "toolCount": 20,
24
- "schemaBytes": 59073
24
+ "schemaBytes": 63349
25
25
  },
26
26
  "hybrid": {
27
27
  "toolCount": 49,
28
- "schemaBytes": 134966
28
+ "schemaBytes": 144231
29
29
  },
30
30
  "full": {
31
- "toolCount": 138,
32
- "schemaBytes": 500538
31
+ "toolCount": 158,
32
+ "schemaBytes": 572388
33
33
  }
34
34
  },
35
35
  "tools": [
@@ -48,6 +48,12 @@
48
48
  "$schema": "https://json-schema.org/draft/2020-12/schema",
49
49
  "type": "object",
50
50
  "properties": {
51
+ "recoverySessionId": {
52
+ "description": "Explicit caller-owned recovery session for this operation; never an authorization grant",
53
+ "type": "string",
54
+ "minLength": 1,
55
+ "maxLength": 128
56
+ },
51
57
  "targetProjectId": {
52
58
  "description": "Explicit owner-registered target; use its project_overview context",
53
59
  "type": "string",
@@ -179,6 +185,12 @@
179
185
  "$schema": "https://json-schema.org/draft/2020-12/schema",
180
186
  "type": "object",
181
187
  "properties": {
188
+ "recoverySessionId": {
189
+ "description": "Explicit caller-owned recovery session for this operation; never an authorization grant",
190
+ "type": "string",
191
+ "minLength": 1,
192
+ "maxLength": 128
193
+ },
182
194
  "targetProjectId": {
183
195
  "description": "Explicit owner-registered target; use its project_overview context",
184
196
  "type": "string",
@@ -348,7 +360,7 @@
348
360
  {
349
361
  "name": "dodo_read",
350
362
  "title": "Read workspace state",
351
- "description": "Gateway: read-only workspace access: files, search, symbols, jobs, history and agent notes. Set operation to one of: list_files, read_files, read_image, read_instructions, search_code, glob_files, symbols, references, diagnostics, change_history, approval_status, environment_info, todo_read, handoff_read, job_status, job_output, job_wait, list_jobs. Put that operation's own arguments in args (never workspaceId/workspaceEpoch — they come from the top level only). Identical authorization to calling the operation directly: its own OAuth scope, workspace access, trust policy, local approvals, path/secret guards, hash checks and audit all apply. Call dodo_discover with operation=\"<name>\" for the exact input schema.",
363
+ "description": "Gateway: read-only workspace access: files, search, symbols, jobs, history and agent notes. Set operation to one of: list_files, read_files, read_image, read_instructions, search_code, glob_files, symbols, references, diagnostics, change_history, approval_status, environment_info, todo_read, handoff_read, job_status, job_output, job_wait, list_jobs, restore_status, checkpoint_list, checkpoint_inspect, recovery_session_list, recovery_session_inspect, deployment_targets, deployment_list, deployment_inspect, deployment_compare. Put that operation's own arguments in args (never workspaceId/workspaceEpoch — they come from the top level only). Identical authorization to calling the operation directly: its own OAuth scope, workspace access, trust policy, local approvals, path/secret guards, hash checks and audit all apply. Call dodo_discover with operation=\"<name>\" for the exact input schema.",
352
364
  "requiredScope": "dodo:read",
353
365
  "annotations": {
354
366
  "readOnlyHint": true,
@@ -375,12 +387,27 @@
375
387
  "job_status",
376
388
  "job_output",
377
389
  "job_wait",
378
- "list_jobs"
390
+ "list_jobs",
391
+ "restore_status",
392
+ "checkpoint_list",
393
+ "checkpoint_inspect",
394
+ "recovery_session_list",
395
+ "recovery_session_inspect",
396
+ "deployment_targets",
397
+ "deployment_list",
398
+ "deployment_inspect",
399
+ "deployment_compare"
379
400
  ],
380
401
  "inputSchema": {
381
402
  "$schema": "https://json-schema.org/draft/2020-12/schema",
382
403
  "type": "object",
383
404
  "properties": {
405
+ "recoverySessionId": {
406
+ "description": "Explicit caller-owned recovery session for this operation; never an authorization grant",
407
+ "type": "string",
408
+ "minLength": 1,
409
+ "maxLength": 128
410
+ },
384
411
  "targetProjectId": {
385
412
  "description": "Explicit owner-registered target; use its project_overview context",
386
413
  "type": "string",
@@ -424,7 +451,16 @@
424
451
  "job_status",
425
452
  "job_output",
426
453
  "job_wait",
427
- "list_jobs"
454
+ "list_jobs",
455
+ "restore_status",
456
+ "checkpoint_list",
457
+ "checkpoint_inspect",
458
+ "recovery_session_list",
459
+ "recovery_session_inspect",
460
+ "deployment_targets",
461
+ "deployment_list",
462
+ "deployment_inspect",
463
+ "deployment_compare"
428
464
  ],
429
465
  "description": "Target operation to invoke"
430
466
  },
@@ -546,7 +582,7 @@
546
582
  {
547
583
  "name": "dodo_write",
548
584
  "title": "Change workspace files",
549
- "description": "Gateway: hash-verified, journaled file changes: write/edit/patch, preview→apply→rollback, todos and handoff. Set operation to one of: write_file, edit_file, apply_patch, replace_in_files, delete_path, move_path, make_directory, preview_changes, apply_changes, rollback_changes, preview_rename, todo_write, handoff_write, agent_write, agent_snapshot_rollback. Put that operation's own arguments in args (never workspaceId/workspaceEpoch — they come from the top level only). Identical authorization to calling the operation directly: its own OAuth scope, workspace access, trust policy, local approvals, path/secret guards, hash checks and audit all apply. Call dodo_discover with operation=\"<name>\" for the exact input schema.",
585
+ "description": "Gateway: hash-verified, journaled file changes: write/edit/patch, preview→apply→rollback, todos and handoff. Set operation to one of: write_file, edit_file, apply_patch, replace_in_files, delete_path, move_path, make_directory, preview_changes, apply_changes, rollback_changes, preview_rename, todo_write, handoff_write, agent_write, agent_snapshot_rollback, checkpoint_create, recovery_session_begin, recovery_session_end, restore_preview, restore_apply. Put that operation's own arguments in args (never workspaceId/workspaceEpoch — they come from the top level only). Identical authorization to calling the operation directly: its own OAuth scope, workspace access, trust policy, local approvals, path/secret guards, hash checks and audit all apply. Call dodo_discover with operation=\"<name>\" for the exact input schema.",
550
586
  "requiredScope": "dodo:write",
551
587
  "annotations": {
552
588
  "readOnlyHint": false,
@@ -570,12 +606,23 @@
570
606
  "todo_write",
571
607
  "handoff_write",
572
608
  "agent_write",
573
- "agent_snapshot_rollback"
609
+ "agent_snapshot_rollback",
610
+ "checkpoint_create",
611
+ "recovery_session_begin",
612
+ "recovery_session_end",
613
+ "restore_preview",
614
+ "restore_apply"
574
615
  ],
575
616
  "inputSchema": {
576
617
  "$schema": "https://json-schema.org/draft/2020-12/schema",
577
618
  "type": "object",
578
619
  "properties": {
620
+ "recoverySessionId": {
621
+ "description": "Explicit caller-owned recovery session for this operation; never an authorization grant",
622
+ "type": "string",
623
+ "minLength": 1,
624
+ "maxLength": 128
625
+ },
579
626
  "targetProjectId": {
580
627
  "description": "Explicit owner-registered target; use its project_overview context",
581
628
  "type": "string",
@@ -616,7 +663,12 @@
616
663
  "todo_write",
617
664
  "handoff_write",
618
665
  "agent_write",
619
- "agent_snapshot_rollback"
666
+ "agent_snapshot_rollback",
667
+ "checkpoint_create",
668
+ "recovery_session_begin",
669
+ "recovery_session_end",
670
+ "restore_preview",
671
+ "restore_apply"
620
672
  ],
621
673
  "description": "Target operation to invoke"
622
674
  },
@@ -738,7 +790,7 @@
738
790
  {
739
791
  "name": "dodo_exec",
740
792
  "title": "Run commands and control jobs",
741
- "description": "Gateway: shell/argv commands, task recipes, and stdin/cancel for owned background jobs. Set operation to one of: run_command, run_commands, run_task, exec_command, job_input, job_cancel, runtime_task_start, runtime_task_cancel, agent_exec. Put that operation's own arguments in args (never workspaceId/workspaceEpoch — they come from the top level only). Identical authorization to calling the operation directly: its own OAuth scope, workspace access, trust policy, local approvals, path/secret guards, hash checks and audit all apply. Call dodo_discover with operation=\"<name>\" for the exact input schema.",
793
+ "description": "Gateway: shell/argv commands, task recipes, and stdin/cancel for owned background jobs. Set operation to one of: run_command, run_commands, run_task, exec_command, job_input, job_cancel, runtime_task_start, runtime_task_cancel, agent_exec, deployment_prepare, deployment_build, deployment_apply, deployment_observe, deployment_source_preview, deployment_rollback_prepare. Put that operation's own arguments in args (never workspaceId/workspaceEpoch — they come from the top level only). Identical authorization to calling the operation directly: its own OAuth scope, workspace access, trust policy, local approvals, path/secret guards, hash checks and audit all apply. Call dodo_discover with operation=\"<name>\" for the exact input schema.",
742
794
  "requiredScope": "dodo:exec",
743
795
  "annotations": {
744
796
  "readOnlyHint": false,
@@ -756,12 +808,24 @@
756
808
  "job_cancel",
757
809
  "runtime_task_start",
758
810
  "runtime_task_cancel",
759
- "agent_exec"
811
+ "agent_exec",
812
+ "deployment_prepare",
813
+ "deployment_build",
814
+ "deployment_apply",
815
+ "deployment_observe",
816
+ "deployment_source_preview",
817
+ "deployment_rollback_prepare"
760
818
  ],
761
819
  "inputSchema": {
762
820
  "$schema": "https://json-schema.org/draft/2020-12/schema",
763
821
  "type": "object",
764
822
  "properties": {
823
+ "recoverySessionId": {
824
+ "description": "Explicit caller-owned recovery session for this operation; never an authorization grant",
825
+ "type": "string",
826
+ "minLength": 1,
827
+ "maxLength": 128
828
+ },
765
829
  "targetProjectId": {
766
830
  "description": "Explicit owner-registered target; use its project_overview context",
767
831
  "type": "string",
@@ -796,7 +860,13 @@
796
860
  "job_cancel",
797
861
  "runtime_task_start",
798
862
  "runtime_task_cancel",
799
- "agent_exec"
863
+ "agent_exec",
864
+ "deployment_prepare",
865
+ "deployment_build",
866
+ "deployment_apply",
867
+ "deployment_observe",
868
+ "deployment_source_preview",
869
+ "deployment_rollback_prepare"
800
870
  ],
801
871
  "description": "Target operation to invoke"
802
872
  },
@@ -936,6 +1006,12 @@
936
1006
  "$schema": "https://json-schema.org/draft/2020-12/schema",
937
1007
  "type": "object",
938
1008
  "properties": {
1009
+ "recoverySessionId": {
1010
+ "description": "Explicit caller-owned recovery session for this operation; never an authorization grant",
1011
+ "type": "string",
1012
+ "minLength": 1,
1013
+ "maxLength": 128
1014
+ },
939
1015
  "targetProjectId": {
940
1016
  "description": "Explicit owner-registered target; use its project_overview context",
941
1017
  "type": "string",
@@ -1102,6 +1178,12 @@
1102
1178
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1103
1179
  "type": "object",
1104
1180
  "properties": {
1181
+ "recoverySessionId": {
1182
+ "description": "Explicit caller-owned recovery session for this operation; never an authorization grant",
1183
+ "type": "string",
1184
+ "minLength": 1,
1185
+ "maxLength": 128
1186
+ },
1105
1187
  "targetProjectId": {
1106
1188
  "description": "Explicit owner-registered target; use its project_overview context",
1107
1189
  "type": "string",
@@ -1269,6 +1351,12 @@
1269
1351
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1270
1352
  "type": "object",
1271
1353
  "properties": {
1354
+ "recoverySessionId": {
1355
+ "description": "Explicit caller-owned recovery session for this operation; never an authorization grant",
1356
+ "type": "string",
1357
+ "minLength": 1,
1358
+ "maxLength": 128
1359
+ },
1272
1360
  "targetProjectId": {
1273
1361
  "description": "Explicit owner-registered target; use its project_overview context",
1274
1362
  "type": "string",
@@ -1436,6 +1524,12 @@
1436
1524
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1437
1525
  "type": "object",
1438
1526
  "properties": {
1527
+ "recoverySessionId": {
1528
+ "description": "Explicit caller-owned recovery session for this operation; never an authorization grant",
1529
+ "type": "string",
1530
+ "minLength": 1,
1531
+ "maxLength": 128
1532
+ },
1439
1533
  "targetProjectId": {
1440
1534
  "description": "Explicit owner-registered target; use its project_overview context",
1441
1535
  "type": "string",
@@ -1624,6 +1718,12 @@
1624
1718
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1625
1719
  "type": "object",
1626
1720
  "properties": {
1721
+ "recoverySessionId": {
1722
+ "description": "Explicit caller-owned recovery session for this operation; never an authorization grant",
1723
+ "type": "string",
1724
+ "minLength": 1,
1725
+ "maxLength": 128
1726
+ },
1627
1727
  "targetProjectId": {
1628
1728
  "description": "Explicit owner-registered target; use its project_overview context",
1629
1729
  "type": "string",
@@ -1830,6 +1930,12 @@
1830
1930
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1831
1931
  "type": "object",
1832
1932
  "properties": {
1933
+ "recoverySessionId": {
1934
+ "description": "Explicit caller-owned recovery session for this operation; never an authorization grant",
1935
+ "type": "string",
1936
+ "minLength": 1,
1937
+ "maxLength": 128
1938
+ },
1833
1939
  "targetProjectId": {
1834
1940
  "description": "Explicit owner-registered target; use its project_overview context",
1835
1941
  "type": "string",
@@ -2029,6 +2135,12 @@
2029
2135
  "$schema": "https://json-schema.org/draft/2020-12/schema",
2030
2136
  "type": "object",
2031
2137
  "properties": {
2138
+ "recoverySessionId": {
2139
+ "description": "Explicit caller-owned recovery session for this operation; never an authorization grant",
2140
+ "type": "string",
2141
+ "minLength": 1,
2142
+ "maxLength": 128
2143
+ },
2032
2144
  "targetProjectId": {
2033
2145
  "description": "Explicit owner-registered target; use its project_overview context",
2034
2146
  "type": "string",
@@ -2213,6 +2325,12 @@
2213
2325
  "$schema": "https://json-schema.org/draft/2020-12/schema",
2214
2326
  "type": "object",
2215
2327
  "properties": {
2328
+ "recoverySessionId": {
2329
+ "description": "Explicit caller-owned recovery session for this operation; never an authorization grant",
2330
+ "type": "string",
2331
+ "minLength": 1,
2332
+ "maxLength": 128
2333
+ },
2216
2334
  "targetProjectId": {
2217
2335
  "description": "Explicit owner-registered target; use its project_overview context",
2218
2336
  "type": "string",
@@ -2381,6 +2499,12 @@
2381
2499
  "$schema": "https://json-schema.org/draft/2020-12/schema",
2382
2500
  "type": "object",
2383
2501
  "properties": {
2502
+ "recoverySessionId": {
2503
+ "description": "Explicit caller-owned recovery session for this operation; never an authorization grant",
2504
+ "type": "string",
2505
+ "minLength": 1,
2506
+ "maxLength": 128
2507
+ },
2384
2508
  "targetProjectId": {
2385
2509
  "description": "Explicit owner-registered target; use its project_overview context",
2386
2510
  "type": "string",
@@ -2546,6 +2670,12 @@
2546
2670
  "$schema": "https://json-schema.org/draft/2020-12/schema",
2547
2671
  "type": "object",
2548
2672
  "properties": {
2673
+ "recoverySessionId": {
2674
+ "description": "Explicit caller-owned recovery session for this operation; never an authorization grant",
2675
+ "type": "string",
2676
+ "minLength": 1,
2677
+ "maxLength": 128
2678
+ },
2549
2679
  "targetProjectId": {
2550
2680
  "description": "Explicit owner-registered target; use its project_overview context",
2551
2681
  "type": "string",
@@ -2710,6 +2840,12 @@
2710
2840
  "$schema": "https://json-schema.org/draft/2020-12/schema",
2711
2841
  "type": "object",
2712
2842
  "properties": {
2843
+ "recoverySessionId": {
2844
+ "description": "Explicit caller-owned recovery session for this operation; never an authorization grant",
2845
+ "type": "string",
2846
+ "minLength": 1,
2847
+ "maxLength": 128
2848
+ },
2713
2849
  "targetProjectId": {
2714
2850
  "description": "Explicit owner-registered target; use its project_overview context",
2715
2851
  "type": "string",
@@ -2874,6 +3010,12 @@
2874
3010
  "$schema": "https://json-schema.org/draft/2020-12/schema",
2875
3011
  "type": "object",
2876
3012
  "properties": {
3013
+ "recoverySessionId": {
3014
+ "description": "Explicit caller-owned recovery session for this operation; never an authorization grant",
3015
+ "type": "string",
3016
+ "minLength": 1,
3017
+ "maxLength": 128
3018
+ },
2877
3019
  "targetProjectId": {
2878
3020
  "description": "Explicit owner-registered target; use its project_overview context",
2879
3021
  "type": "string",
@@ -3038,6 +3180,12 @@
3038
3180
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3039
3181
  "type": "object",
3040
3182
  "properties": {
3183
+ "recoverySessionId": {
3184
+ "description": "Explicit caller-owned recovery session for this operation; never an authorization grant",
3185
+ "type": "string",
3186
+ "minLength": 1,
3187
+ "maxLength": 128
3188
+ },
3041
3189
  "targetProjectId": {
3042
3190
  "description": "Explicit owner-registered target; use its project_overview context",
3043
3191
  "type": "string",
@@ -3202,6 +3350,12 @@
3202
3350
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3203
3351
  "type": "object",
3204
3352
  "properties": {
3353
+ "recoverySessionId": {
3354
+ "description": "Explicit caller-owned recovery session for this operation; never an authorization grant",
3355
+ "type": "string",
3356
+ "minLength": 1,
3357
+ "maxLength": 128
3358
+ },
3205
3359
  "targetProjectId": {
3206
3360
  "description": "Explicit owner-registered target; use its project_overview context",
3207
3361
  "type": "string",
@@ -3378,6 +3532,12 @@
3378
3532
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3379
3533
  "type": "object",
3380
3534
  "properties": {
3535
+ "recoverySessionId": {
3536
+ "description": "Explicit caller-owned recovery session for this operation; never an authorization grant",
3537
+ "type": "string",
3538
+ "minLength": 1,
3539
+ "maxLength": 128
3540
+ },
3381
3541
  "targetProjectId": {
3382
3542
  "description": "Explicit owner-registered target; use its project_overview context",
3383
3543
  "type": "string",