dodo-mcp 1.1.0 → 1.2.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 (69) hide show
  1. package/README.md +55 -14
  2. package/dist/cli/main.js +92 -28
  3. package/dist/cli/main.js.map +1 -1
  4. package/dist/cli/menu.js +2 -2
  5. package/dist/cli/menu.js.map +1 -1
  6. package/dist/config/globalConfig.js +6 -2
  7. package/dist/config/globalConfig.js.map +1 -1
  8. package/dist/config/tunnelConfig.js +2 -1
  9. package/dist/config/tunnelConfig.js.map +1 -1
  10. package/dist/projects/ownerAdmin.js +86 -0
  11. package/dist/projects/ownerAdmin.js.map +1 -0
  12. package/dist/projects/registry.js +90 -9
  13. package/dist/projects/registry.js.map +1 -1
  14. package/dist/security/projectAccess.js +69 -0
  15. package/dist/security/projectAccess.js.map +1 -0
  16. package/dist/security/projectAuthority.js +5 -1
  17. package/dist/security/projectAuthority.js.map +1 -1
  18. package/dist/server/appServer.js +23 -9
  19. package/dist/server/appServer.js.map +1 -1
  20. package/dist/server/bootstrap.js +5 -1
  21. package/dist/server/bootstrap.js.map +1 -1
  22. package/dist/server/configUi/app.css +8 -0
  23. package/dist/server/configUi/app.js +93 -18
  24. package/dist/server/configUi/index.html +22 -13
  25. package/dist/server/installationRuntime.js +6 -2
  26. package/dist/server/installationRuntime.js.map +1 -1
  27. package/dist/server/instructions.js +1 -1
  28. package/dist/server/instructions.js.map +1 -1
  29. package/dist/server/ipcDispatch.js.map +1 -1
  30. package/dist/server/localConfig.js +55 -13
  31. package/dist/server/localConfig.js.map +1 -1
  32. package/dist/services/ai/subagents.js +1 -1
  33. package/dist/services/ai/subagents.js.map +1 -1
  34. package/dist/services/multimodal/storage.js +10 -1
  35. package/dist/services/multimodal/storage.js.map +1 -1
  36. package/dist/services/schedules/scheduleService.js +8 -1
  37. package/dist/services/schedules/scheduleService.js.map +1 -1
  38. package/dist/store/db.js +14 -0
  39. package/dist/store/db.js.map +1 -1
  40. package/dist/tools/agentRuntimeTools.js +2 -3
  41. package/dist/tools/agentRuntimeTools.js.map +1 -1
  42. package/dist/tools/context.js +85 -5
  43. package/dist/tools/context.js.map +1 -1
  44. package/dist/tools/surface.js +2 -6
  45. package/dist/tools/surface.js.map +1 -1
  46. package/dist/tunnel/control.js +11 -4
  47. package/dist/tunnel/control.js.map +1 -1
  48. package/dist/tunnel/log.js +32 -0
  49. package/dist/tunnel/log.js.map +1 -1
  50. package/dist/tunnel/supervisor.js +103 -24
  51. package/dist/tunnel/supervisor.js.map +1 -1
  52. package/docs/ARCHITECTURE.md +12 -4
  53. package/docs/AUTH.md +6 -0
  54. package/docs/COMPATIBILITY.md +3 -2
  55. package/docs/MANUAL_ACCEPTANCE.md +22 -6
  56. package/docs/PROJECTS.md +73 -2
  57. package/docs/RELEASE_1.2.0.md +75 -0
  58. package/docs/RELEASE_NOTES.md +15 -0
  59. package/docs/SECURITY.md +27 -6
  60. package/docs/TEST_REPORT.md +74 -0
  61. package/docs/TUNNEL.md +79 -16
  62. package/docs/adr/048-persistent-connection-mode.md +3 -1
  63. package/docs/adr/050-cloudflare-local-and-project-access.md +67 -0
  64. package/docs/adr/README.md +1 -0
  65. package/package.json +2 -1
  66. package/schemas/global-config.schema.json +1 -0
  67. package/schemas/tools.compact.json +123 -3
  68. package/schemas/tools.hybrid.json +297 -3
  69. package/schemas/tools.json +828 -0
@@ -52,15 +52,15 @@
52
52
  "stats": {
53
53
  "compact": {
54
54
  "toolCount": 20,
55
- "schemaBytes": 55373
55
+ "schemaBytes": 59073
56
56
  },
57
57
  "hybrid": {
58
58
  "toolCount": 49,
59
- "schemaBytes": 125901
59
+ "schemaBytes": 134966
60
60
  },
61
61
  "full": {
62
62
  "toolCount": 138,
63
- "schemaBytes": 475008
63
+ "schemaBytes": 500538
64
64
  }
65
65
  },
66
66
  "tools": [
@@ -84,6 +84,12 @@
84
84
  "type": "string",
85
85
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
86
86
  },
87
+ "targetProject": {
88
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
89
+ "type": "string",
90
+ "minLength": 1,
91
+ "maxLength": 120
92
+ },
87
93
  "projectId": {
88
94
  "description": "Optional owner-registered project ID for read-only federation; omit to use the active workspace",
89
95
  "type": "string",
@@ -209,6 +215,12 @@
209
215
  "type": "string",
210
216
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
211
217
  },
218
+ "targetProject": {
219
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
220
+ "type": "string",
221
+ "minLength": 1,
222
+ "maxLength": 120
223
+ },
212
224
  "workspaceId": {
213
225
  "type": "string",
214
226
  "minLength": 1,
@@ -405,6 +417,12 @@
405
417
  "type": "string",
406
418
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
407
419
  },
420
+ "targetProject": {
421
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
422
+ "type": "string",
423
+ "minLength": 1,
424
+ "maxLength": 120
425
+ },
408
426
  "workspaceId": {
409
427
  "type": "string",
410
428
  "minLength": 1,
@@ -594,6 +612,12 @@
594
612
  "type": "string",
595
613
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
596
614
  },
615
+ "targetProject": {
616
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
617
+ "type": "string",
618
+ "minLength": 1,
619
+ "maxLength": 120
620
+ },
597
621
  "workspaceId": {
598
622
  "type": "string",
599
623
  "minLength": 1,
@@ -774,6 +798,12 @@
774
798
  "type": "string",
775
799
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
776
800
  },
801
+ "targetProject": {
802
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
803
+ "type": "string",
804
+ "minLength": 1,
805
+ "maxLength": 120
806
+ },
777
807
  "workspaceId": {
778
808
  "type": "string",
779
809
  "minLength": 1,
@@ -942,6 +972,12 @@
942
972
  "type": "string",
943
973
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
944
974
  },
975
+ "targetProject": {
976
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
977
+ "type": "string",
978
+ "minLength": 1,
979
+ "maxLength": 120
980
+ },
945
981
  "workspaceId": {
946
982
  "type": "string",
947
983
  "minLength": 1,
@@ -1102,6 +1138,12 @@
1102
1138
  "type": "string",
1103
1139
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
1104
1140
  },
1141
+ "targetProject": {
1142
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
1143
+ "type": "string",
1144
+ "minLength": 1,
1145
+ "maxLength": 120
1146
+ },
1105
1147
  "workspaceId": {
1106
1148
  "type": "string",
1107
1149
  "minLength": 1,
@@ -1263,6 +1305,12 @@
1263
1305
  "type": "string",
1264
1306
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
1265
1307
  },
1308
+ "targetProject": {
1309
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
1310
+ "type": "string",
1311
+ "minLength": 1,
1312
+ "maxLength": 120
1313
+ },
1266
1314
  "workspaceId": {
1267
1315
  "type": "string",
1268
1316
  "minLength": 1,
@@ -1424,6 +1472,12 @@
1424
1472
  "type": "string",
1425
1473
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
1426
1474
  },
1475
+ "targetProject": {
1476
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
1477
+ "type": "string",
1478
+ "minLength": 1,
1479
+ "maxLength": 120
1480
+ },
1427
1481
  "workspaceId": {
1428
1482
  "type": "string",
1429
1483
  "minLength": 1,
@@ -1606,6 +1660,12 @@
1606
1660
  "type": "string",
1607
1661
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
1608
1662
  },
1663
+ "targetProject": {
1664
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
1665
+ "type": "string",
1666
+ "minLength": 1,
1667
+ "maxLength": 120
1668
+ },
1609
1669
  "workspaceId": {
1610
1670
  "type": "string",
1611
1671
  "minLength": 1,
@@ -1806,6 +1866,12 @@
1806
1866
  "type": "string",
1807
1867
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
1808
1868
  },
1869
+ "targetProject": {
1870
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
1871
+ "type": "string",
1872
+ "minLength": 1,
1873
+ "maxLength": 120
1874
+ },
1809
1875
  "workspaceId": {
1810
1876
  "type": "string",
1811
1877
  "minLength": 1,
@@ -1999,6 +2065,12 @@
1999
2065
  "type": "string",
2000
2066
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
2001
2067
  },
2068
+ "targetProject": {
2069
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
2070
+ "type": "string",
2071
+ "minLength": 1,
2072
+ "maxLength": 120
2073
+ },
2002
2074
  "workspaceId": {
2003
2075
  "type": "string",
2004
2076
  "minLength": 1,
@@ -2177,6 +2249,12 @@
2177
2249
  "type": "string",
2178
2250
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
2179
2251
  },
2252
+ "targetProject": {
2253
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
2254
+ "type": "string",
2255
+ "minLength": 1,
2256
+ "maxLength": 120
2257
+ },
2180
2258
  "workspaceId": {
2181
2259
  "type": "string",
2182
2260
  "minLength": 1,
@@ -2339,6 +2417,12 @@
2339
2417
  "type": "string",
2340
2418
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
2341
2419
  },
2420
+ "targetProject": {
2421
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
2422
+ "type": "string",
2423
+ "minLength": 1,
2424
+ "maxLength": 120
2425
+ },
2342
2426
  "workspaceId": {
2343
2427
  "type": "string",
2344
2428
  "minLength": 1,
@@ -2498,6 +2582,12 @@
2498
2582
  "type": "string",
2499
2583
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
2500
2584
  },
2585
+ "targetProject": {
2586
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
2587
+ "type": "string",
2588
+ "minLength": 1,
2589
+ "maxLength": 120
2590
+ },
2501
2591
  "workspaceId": {
2502
2592
  "type": "string",
2503
2593
  "minLength": 1,
@@ -2656,6 +2746,12 @@
2656
2746
  "type": "string",
2657
2747
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
2658
2748
  },
2749
+ "targetProject": {
2750
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
2751
+ "type": "string",
2752
+ "minLength": 1,
2753
+ "maxLength": 120
2754
+ },
2659
2755
  "workspaceId": {
2660
2756
  "type": "string",
2661
2757
  "minLength": 1,
@@ -2814,6 +2910,12 @@
2814
2910
  "type": "string",
2815
2911
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
2816
2912
  },
2913
+ "targetProject": {
2914
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
2915
+ "type": "string",
2916
+ "minLength": 1,
2917
+ "maxLength": 120
2918
+ },
2817
2919
  "workspaceId": {
2818
2920
  "type": "string",
2819
2921
  "minLength": 1,
@@ -2972,6 +3074,12 @@
2972
3074
  "type": "string",
2973
3075
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
2974
3076
  },
3077
+ "targetProject": {
3078
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
3079
+ "type": "string",
3080
+ "minLength": 1,
3081
+ "maxLength": 120
3082
+ },
2975
3083
  "workspaceId": {
2976
3084
  "type": "string",
2977
3085
  "minLength": 1,
@@ -3130,6 +3238,12 @@
3130
3238
  "type": "string",
3131
3239
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
3132
3240
  },
3241
+ "targetProject": {
3242
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
3243
+ "type": "string",
3244
+ "minLength": 1,
3245
+ "maxLength": 120
3246
+ },
3133
3247
  "workspaceId": {
3134
3248
  "type": "string",
3135
3249
  "minLength": 1,
@@ -3300,6 +3414,12 @@
3300
3414
  "type": "string",
3301
3415
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
3302
3416
  },
3417
+ "targetProject": {
3418
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
3419
+ "type": "string",
3420
+ "minLength": 1,
3421
+ "maxLength": 120
3422
+ },
3303
3423
  "workspaceId": {
3304
3424
  "type": "string",
3305
3425
  "minLength": 1,
@@ -3466,6 +3586,12 @@
3466
3586
  "type": "string",
3467
3587
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
3468
3588
  },
3589
+ "targetProject": {
3590
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
3591
+ "type": "string",
3592
+ "minLength": 1,
3593
+ "maxLength": 120
3594
+ },
3469
3595
  "workspaceId": {
3470
3596
  "type": "string",
3471
3597
  "minLength": 1,
@@ -3628,6 +3754,12 @@
3628
3754
  "type": "string",
3629
3755
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
3630
3756
  },
3757
+ "targetProject": {
3758
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
3759
+ "type": "string",
3760
+ "minLength": 1,
3761
+ "maxLength": 120
3762
+ },
3631
3763
  "workspaceId": {
3632
3764
  "type": "string",
3633
3765
  "minLength": 1,
@@ -3802,6 +3934,12 @@
3802
3934
  "type": "string",
3803
3935
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
3804
3936
  },
3937
+ "targetProject": {
3938
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
3939
+ "type": "string",
3940
+ "minLength": 1,
3941
+ "maxLength": 120
3942
+ },
3805
3943
  "workspaceId": {
3806
3944
  "type": "string",
3807
3945
  "minLength": 1,
@@ -3945,6 +4083,12 @@
3945
4083
  "type": "string",
3946
4084
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
3947
4085
  },
4086
+ "targetProject": {
4087
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
4088
+ "type": "string",
4089
+ "minLength": 1,
4090
+ "maxLength": 120
4091
+ },
3948
4092
  "workspaceId": {
3949
4093
  "type": "string",
3950
4094
  "minLength": 1,
@@ -4172,6 +4316,12 @@
4172
4316
  "type": "string",
4173
4317
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
4174
4318
  },
4319
+ "targetProject": {
4320
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
4321
+ "type": "string",
4322
+ "minLength": 1,
4323
+ "maxLength": 120
4324
+ },
4175
4325
  "workspaceId": {
4176
4326
  "type": "string",
4177
4327
  "minLength": 1,
@@ -4342,6 +4492,12 @@
4342
4492
  "type": "string",
4343
4493
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
4344
4494
  },
4495
+ "targetProject": {
4496
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
4497
+ "type": "string",
4498
+ "minLength": 1,
4499
+ "maxLength": 120
4500
+ },
4345
4501
  "workspaceId": {
4346
4502
  "type": "string",
4347
4503
  "minLength": 1,
@@ -4499,6 +4655,12 @@
4499
4655
  "type": "string",
4500
4656
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
4501
4657
  },
4658
+ "targetProject": {
4659
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
4660
+ "type": "string",
4661
+ "minLength": 1,
4662
+ "maxLength": 120
4663
+ },
4502
4664
  "workspaceId": {
4503
4665
  "type": "string",
4504
4666
  "minLength": 1,
@@ -4687,6 +4849,12 @@
4687
4849
  "type": "string",
4688
4850
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
4689
4851
  },
4852
+ "targetProject": {
4853
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
4854
+ "type": "string",
4855
+ "minLength": 1,
4856
+ "maxLength": 120
4857
+ },
4690
4858
  "workspaceId": {
4691
4859
  "type": "string",
4692
4860
  "minLength": 1,
@@ -4835,6 +5003,12 @@
4835
5003
  "type": "string",
4836
5004
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
4837
5005
  },
5006
+ "targetProject": {
5007
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
5008
+ "type": "string",
5009
+ "minLength": 1,
5010
+ "maxLength": 120
5011
+ },
4838
5012
  "workspaceId": {
4839
5013
  "type": "string",
4840
5014
  "minLength": 1,
@@ -5012,6 +5186,12 @@
5012
5186
  "type": "string",
5013
5187
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
5014
5188
  },
5189
+ "targetProject": {
5190
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
5191
+ "type": "string",
5192
+ "minLength": 1,
5193
+ "maxLength": 120
5194
+ },
5015
5195
  "workspaceId": {
5016
5196
  "type": "string",
5017
5197
  "minLength": 1,
@@ -5157,6 +5337,12 @@
5157
5337
  "type": "string",
5158
5338
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
5159
5339
  },
5340
+ "targetProject": {
5341
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
5342
+ "type": "string",
5343
+ "minLength": 1,
5344
+ "maxLength": 120
5345
+ },
5160
5346
  "workspaceId": {
5161
5347
  "type": "string",
5162
5348
  "minLength": 1,
@@ -5303,6 +5489,12 @@
5303
5489
  "type": "string",
5304
5490
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
5305
5491
  },
5492
+ "targetProject": {
5493
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
5494
+ "type": "string",
5495
+ "minLength": 1,
5496
+ "maxLength": 120
5497
+ },
5306
5498
  "workspaceId": {
5307
5499
  "type": "string",
5308
5500
  "minLength": 1,
@@ -5444,6 +5636,12 @@
5444
5636
  "type": "string",
5445
5637
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
5446
5638
  },
5639
+ "targetProject": {
5640
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
5641
+ "type": "string",
5642
+ "minLength": 1,
5643
+ "maxLength": 120
5644
+ },
5447
5645
  "workspaceId": {
5448
5646
  "type": "string",
5449
5647
  "minLength": 1,
@@ -5601,6 +5799,12 @@
5601
5799
  "type": "string",
5602
5800
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
5603
5801
  },
5802
+ "targetProject": {
5803
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
5804
+ "type": "string",
5805
+ "minLength": 1,
5806
+ "maxLength": 120
5807
+ },
5604
5808
  "workspaceId": {
5605
5809
  "type": "string",
5606
5810
  "minLength": 1,
@@ -5761,6 +5965,12 @@
5761
5965
  "type": "string",
5762
5966
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
5763
5967
  },
5968
+ "targetProject": {
5969
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
5970
+ "type": "string",
5971
+ "minLength": 1,
5972
+ "maxLength": 120
5973
+ },
5764
5974
  "workspaceId": {
5765
5975
  "type": "string",
5766
5976
  "minLength": 1,
@@ -6051,6 +6261,12 @@
6051
6261
  "type": "string",
6052
6262
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
6053
6263
  },
6264
+ "targetProject": {
6265
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
6266
+ "type": "string",
6267
+ "minLength": 1,
6268
+ "maxLength": 120
6269
+ },
6054
6270
  "workspaceId": {
6055
6271
  "type": "string",
6056
6272
  "minLength": 1,
@@ -6204,6 +6420,12 @@
6204
6420
  "type": "string",
6205
6421
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
6206
6422
  },
6423
+ "targetProject": {
6424
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
6425
+ "type": "string",
6426
+ "minLength": 1,
6427
+ "maxLength": 120
6428
+ },
6207
6429
  "workspaceId": {
6208
6430
  "type": "string",
6209
6431
  "minLength": 1,
@@ -6352,6 +6574,12 @@
6352
6574
  "type": "string",
6353
6575
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
6354
6576
  },
6577
+ "targetProject": {
6578
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
6579
+ "type": "string",
6580
+ "minLength": 1,
6581
+ "maxLength": 120
6582
+ },
6355
6583
  "workspaceId": {
6356
6584
  "type": "string",
6357
6585
  "minLength": 1,
@@ -6488,6 +6716,12 @@
6488
6716
  "type": "string",
6489
6717
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
6490
6718
  },
6719
+ "targetProject": {
6720
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
6721
+ "type": "string",
6722
+ "minLength": 1,
6723
+ "maxLength": 120
6724
+ },
6491
6725
  "workspaceId": {
6492
6726
  "type": "string",
6493
6727
  "minLength": 1,
@@ -6644,6 +6878,12 @@
6644
6878
  "type": "string",
6645
6879
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
6646
6880
  },
6881
+ "targetProject": {
6882
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
6883
+ "type": "string",
6884
+ "minLength": 1,
6885
+ "maxLength": 120
6886
+ },
6647
6887
  "workspaceId": {
6648
6888
  "type": "string",
6649
6889
  "minLength": 1,
@@ -6791,6 +7031,12 @@
6791
7031
  "type": "string",
6792
7032
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
6793
7033
  },
7034
+ "targetProject": {
7035
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
7036
+ "type": "string",
7037
+ "minLength": 1,
7038
+ "maxLength": 120
7039
+ },
6794
7040
  "workspaceId": {
6795
7041
  "type": "string",
6796
7042
  "minLength": 1,
@@ -6952,6 +7198,12 @@
6952
7198
  "type": "string",
6953
7199
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
6954
7200
  },
7201
+ "targetProject": {
7202
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
7203
+ "type": "string",
7204
+ "minLength": 1,
7205
+ "maxLength": 120
7206
+ },
6955
7207
  "workspaceId": {
6956
7208
  "type": "string",
6957
7209
  "minLength": 1,
@@ -7138,6 +7390,12 @@
7138
7390
  "type": "string",
7139
7391
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
7140
7392
  },
7393
+ "targetProject": {
7394
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
7395
+ "type": "string",
7396
+ "minLength": 1,
7397
+ "maxLength": 120
7398
+ },
7141
7399
  "workspaceId": {
7142
7400
  "type": "string",
7143
7401
  "minLength": 1,
@@ -7325,6 +7583,12 @@
7325
7583
  "type": "string",
7326
7584
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
7327
7585
  },
7586
+ "targetProject": {
7587
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
7588
+ "type": "string",
7589
+ "minLength": 1,
7590
+ "maxLength": 120
7591
+ },
7328
7592
  "workspaceId": {
7329
7593
  "type": "string",
7330
7594
  "minLength": 1,
@@ -7484,6 +7748,12 @@
7484
7748
  "type": "string",
7485
7749
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
7486
7750
  },
7751
+ "targetProject": {
7752
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
7753
+ "type": "string",
7754
+ "minLength": 1,
7755
+ "maxLength": 120
7756
+ },
7487
7757
  "workspaceId": {
7488
7758
  "type": "string",
7489
7759
  "minLength": 1,
@@ -7655,6 +7925,12 @@
7655
7925
  "type": "string",
7656
7926
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
7657
7927
  },
7928
+ "targetProject": {
7929
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
7930
+ "type": "string",
7931
+ "minLength": 1,
7932
+ "maxLength": 120
7933
+ },
7658
7934
  "workspaceId": {
7659
7935
  "type": "string",
7660
7936
  "minLength": 1,
@@ -7796,6 +8072,12 @@
7796
8072
  "type": "string",
7797
8073
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
7798
8074
  },
8075
+ "targetProject": {
8076
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
8077
+ "type": "string",
8078
+ "minLength": 1,
8079
+ "maxLength": 120
8080
+ },
7799
8081
  "workspaceId": {
7800
8082
  "type": "string",
7801
8083
  "minLength": 1,
@@ -7960,6 +8242,12 @@
7960
8242
  "type": "string",
7961
8243
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
7962
8244
  },
8245
+ "targetProject": {
8246
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
8247
+ "type": "string",
8248
+ "minLength": 1,
8249
+ "maxLength": 120
8250
+ },
7963
8251
  "workspaceId": {
7964
8252
  "type": "string",
7965
8253
  "minLength": 1,
@@ -8108,6 +8396,12 @@
8108
8396
  "type": "string",
8109
8397
  "pattern": "^prj_[0-9a-hjkmnp-tv-z]{8,64}$"
8110
8398
  },
8399
+ "targetProject": {
8400
+ "description": "Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)",
8401
+ "type": "string",
8402
+ "minLength": 1,
8403
+ "maxLength": 120
8404
+ },
8111
8405
  "workspaceId": {
8112
8406
  "type": "string",
8113
8407
  "minLength": 1,