@agent-vm/agent-portal-sdk 0.0.148 → 0.0.149

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 (110) hide show
  1. package/contract-fixtures/portable-contracts/approval/managed-google-challenge.fixture.json +66 -0
  2. package/contract-fixtures/portable-contracts/discovery/describe-result.fixture.json +5 -1
  3. package/contract-fixtures/portable-contracts/discovery/google-describe-duplicate-availability.fixture.json +103 -0
  4. package/contract-fixtures/portable-contracts/discovery/google-describe-duplicate-requirements.fixture.json +83 -0
  5. package/contract-fixtures/portable-contracts/discovery/google-describe-unverified-ready.fixture.json +78 -0
  6. package/contract-fixtures/portable-contracts/discovery/google-describe-valid.fixture.json +144 -0
  7. package/contract-fixtures/portable-contracts/discovery/google-list-duplicate-availability.fixture.json +109 -0
  8. package/contract-fixtures/portable-contracts/discovery/google-list-duplicate-requirements.fixture.json +89 -0
  9. package/contract-fixtures/portable-contracts/discovery/google-list-unverified-ready.fixture.json +84 -0
  10. package/contract-fixtures/portable-contracts/discovery/google-list-valid.fixture.json +156 -0
  11. package/contract-fixtures/portable-contracts/discovery/google-search-duplicate-availability.fixture.json +108 -0
  12. package/contract-fixtures/portable-contracts/discovery/google-search-duplicate-requirements.fixture.json +88 -0
  13. package/contract-fixtures/portable-contracts/discovery/google-search-unverified-ready.fixture.json +83 -0
  14. package/contract-fixtures/portable-contracts/discovery/google-search-valid.fixture.json +154 -0
  15. package/contract-fixtures/portable-contracts/discovery/list-result.fixture.json +5 -1
  16. package/contract-fixtures/portable-contracts/discovery/search-result.fixture.json +5 -1
  17. package/contract-fixtures/portable-contracts/files/attachment-cleaned-result.fixture.json +16 -0
  18. package/contract-fixtures/portable-contracts/files/attachment-parent-path-rejected.fixture.json +17 -0
  19. package/contract-fixtures/portable-contracts/files/attachment-public-request.fixture.json +26 -0
  20. package/contract-fixtures/portable-contracts/files/attachment-public-result.fixture.json +26 -0
  21. package/contract-fixtures/portable-contracts/files/attachment-recipient-rejected.fixture.json +19 -0
  22. package/contract-fixtures/portable-contracts/files/attachment-settle-request.fixture.json +20 -0
  23. package/contract-fixtures/portable-contracts/files/attachment-stage-request.fixture.json +26 -0
  24. package/contract-fixtures/portable-contracts/files/attachment-staged-result.fixture.json +24 -0
  25. package/contract-fixtures/portable-contracts/files/file-list-request.fixture.json +14 -0
  26. package/contract-fixtures/portable-contracts/files/file-listed-result.fixture.json +21 -0
  27. package/contract-fixtures/portable-contracts/files/file-materialized-result.fixture.json +17 -0
  28. package/contract-fixtures/portable-contracts/files/file-request-root-rejected.fixture.json +15 -0
  29. package/contract-fixtures/portable-contracts/files/file-result-payload-rejected.fixture.json +18 -0
  30. package/contract-fixtures/portable-contracts/outcomes/completed-file-delivery-partial.fixture.json +84 -0
  31. package/contract-fixtures/portable-contracts/outcomes/invalid-retryable-file-delivery.fixture.json +40 -0
  32. package/dist/approval-surface/index.d.ts +1 -1
  33. package/dist/approval-surface/index.js +1 -1
  34. package/dist/{approval-surface-phfnKUSF.js → approval-surface-CfbAG-81.js} +4 -4
  35. package/dist/{approval-surface-phfnKUSF.js.map → approval-surface-CfbAG-81.js.map} +1 -1
  36. package/dist/artifact-surface/index.js +1 -1
  37. package/dist/{artifact-surface-CHEu4tDd.js → artifact-surface-Db5KQOA0.js} +2 -2
  38. package/dist/{artifact-surface-CHEu4tDd.js.map → artifact-surface-Db5KQOA0.js.map} +1 -1
  39. package/dist/capability-description-surface/index.d.ts +1 -1
  40. package/dist/capability-description-surface/index.js +2 -2
  41. package/dist/capability-description-surface-DKZLjpG4.js +2 -0
  42. package/dist/{capability-descriptor-schema-B_0vLQ3E.js → capability-descriptor-schema-5evBt6Hl.js} +2 -2
  43. package/dist/{capability-descriptor-schema-B_0vLQ3E.js.map → capability-descriptor-schema-5evBt6Hl.js.map} +1 -1
  44. package/dist/cli/tool-portal.js +5 -5
  45. package/dist/contracts/index.js +1 -1
  46. package/dist/{contracts-X9wWs2lP.js → contracts-K6l783Yb.js} +5 -5
  47. package/dist/{contracts-X9wWs2lP.js.map → contracts-K6l783Yb.js.map} +1 -1
  48. package/dist/gateway-runtime-client/index.d.ts +5 -3
  49. package/dist/gateway-runtime-client/index.d.ts.map +1 -1
  50. package/dist/gateway-runtime-client/index.js +13 -6
  51. package/dist/gateway-runtime-client/index.js.map +1 -1
  52. package/dist/{index-C2axvEYg.d.ts → index-BSG2bf1j.d.ts} +3 -3
  53. package/dist/{index-C2axvEYg.d.ts.map → index-BSG2bf1j.d.ts.map} +1 -1
  54. package/dist/{index-DZJH4Rau.d.ts → index-Ba_G25p_.d.ts} +11 -11
  55. package/dist/{index-DZJH4Rau.d.ts.map → index-Ba_G25p_.d.ts.map} +1 -1
  56. package/dist/{index-uDfElZ9U.d.ts → index-ByBEiqZp.d.ts} +177 -93
  57. package/dist/index-ByBEiqZp.d.ts.map +1 -0
  58. package/dist/{index-ex2lEawY.d.ts → index-C5NsqQls.d.ts} +28 -6
  59. package/dist/index-C5NsqQls.d.ts.map +1 -0
  60. package/dist/{index-DTTEu7ZT.d.ts → index-C8gs_YWX.d.ts} +121 -5
  61. package/dist/{index-DTTEu7ZT.d.ts.map → index-C8gs_YWX.d.ts.map} +1 -1
  62. package/dist/{index-C-QFWaH5.d.ts → index-E3B9TETl.d.ts} +11 -1
  63. package/dist/index-E3B9TETl.d.ts.map +1 -0
  64. package/dist/index.d.ts +7 -7
  65. package/dist/index.js +15 -15
  66. package/dist/{json-value-schema-Br5M7d7X.js → json-value-schema-rxMrw9uZ.js} +2 -2
  67. package/dist/{json-value-schema-Br5M7d7X.js.map → json-value-schema-rxMrw9uZ.js.map} +1 -1
  68. package/dist/{namespace-discovery-schema-DwbJHVLu.js → namespace-discovery-schema-BBWRZZnD.js} +2 -2
  69. package/dist/{namespace-discovery-schema-DwbJHVLu.js.map → namespace-discovery-schema-BBWRZZnD.js.map} +1 -1
  70. package/dist/portable-contracts/index.d.ts +1 -1
  71. package/dist/portable-contracts/index.js +2 -2
  72. package/dist/{portable-contracts-CWLiYrVU.js → portable-contracts-D7axGgu1.js} +75 -15
  73. package/dist/portable-contracts-D7axGgu1.js.map +1 -0
  74. package/dist/{portable-refinement-authoring-C1Q92x2G.js → portable-refinement-authoring-oFICWLOo.js} +16 -2
  75. package/dist/portable-refinement-authoring-oFICWLOo.js.map +1 -0
  76. package/dist/{portal-call-request-schema-Cl0kTLaX.js → portal-call-request-schema-B1dbBjmW.js} +4 -4
  77. package/dist/{portal-call-request-schema-Cl0kTLaX.js.map → portal-call-request-schema-B1dbBjmW.js.map} +1 -1
  78. package/dist/{portal-call-result-schema-Mv2Dv1HJ.d.ts → portal-call-result-schema-CjfCOa84.d.ts} +1071 -495
  79. package/dist/portal-call-result-schema-CjfCOa84.d.ts.map +1 -0
  80. package/dist/{portal-call-result-schema-DM77S9CA.js → portal-call-result-schema-DVJ6FyTz.js} +24 -8
  81. package/dist/portal-call-result-schema-DVJ6FyTz.js.map +1 -0
  82. package/dist/portal-call-surface/index.d.ts +3 -3
  83. package/dist/portal-call-surface/index.js +4 -4
  84. package/dist/portal-call-surface-BPVX-rjw.js +175 -0
  85. package/dist/portal-call-surface-BPVX-rjw.js.map +1 -0
  86. package/dist/portal-event-surface/index.d.ts +1 -1
  87. package/dist/portal-event-surface/index.js +1 -1
  88. package/dist/{portal-event-surface-Bp3rXsBz.js → portal-event-surface-Z76kra2a.js} +2 -2
  89. package/dist/{portal-event-surface-Bp3rXsBz.js.map → portal-event-surface-Z76kra2a.js.map} +1 -1
  90. package/dist/{request-id-schema-Hq_6lSFV.js → request-id-schema-DQ84TX-D.js} +2 -2
  91. package/dist/{request-id-schema-Hq_6lSFV.js.map → request-id-schema-DQ84TX-D.js.map} +1 -1
  92. package/dist/testing/index.d.ts +1 -1
  93. package/dist/testing/index.js +2 -2
  94. package/dist/tool-portal-mcp-client/index.d.ts +1 -1
  95. package/dist/tool-portal-mcp-client/index.js +1 -1
  96. package/dist/tool-portal-mcp-client/node-tool-portal-mcp-transport.d.ts +1 -1
  97. package/dist/{tool-portal-mcp-client-DsDi2iJc.js → tool-portal-mcp-client-DSDLoZ5e.js} +5 -5
  98. package/dist/{tool-portal-mcp-client-DsDi2iJc.js.map → tool-portal-mcp-client-DSDLoZ5e.js.map} +1 -1
  99. package/package.json +2 -2
  100. package/portable-contract-schema-manifest.json +1614 -366
  101. package/dist/capability-description-surface-YqGm-nS_.js +0 -2
  102. package/dist/index-C-QFWaH5.d.ts.map +0 -1
  103. package/dist/index-ex2lEawY.d.ts.map +0 -1
  104. package/dist/index-uDfElZ9U.d.ts.map +0 -1
  105. package/dist/portable-contracts-CWLiYrVU.js.map +0 -1
  106. package/dist/portable-refinement-authoring-C1Q92x2G.js.map +0 -1
  107. package/dist/portal-call-result-schema-DM77S9CA.js.map +0 -1
  108. package/dist/portal-call-result-schema-Mv2Dv1HJ.d.ts.map +0 -1
  109. package/dist/portal-call-surface-B952nh-H.js +0 -84
  110. package/dist/portal-call-surface-B952nh-H.js.map +0 -1
@@ -7,6 +7,7 @@
7
7
  "portal.artifact-read.default-truncated",
8
8
  "portal.batch.unique-item-ids",
9
9
  "portal.describe.default-includes",
10
+ "portal.google.discovery-policy",
10
11
  "portal.json.canonical",
11
12
  "portal.json.max-object-entries",
12
13
  "portal.list.default-limit",
@@ -161,7 +162,7 @@
161
162
  "portal.call.item-result": {
162
163
  "jsonSchema": {
163
164
  "$schema": "https://json-schema.org/draft/2020-12/schema",
164
- "oneOf": [
165
+ "anyOf": [
165
166
  {
166
167
  "type": "object",
167
168
  "properties": {
@@ -308,6 +309,224 @@
308
309
  "required": ["id", "operationId", "outcome", "owningGeneration", "status", "value"],
309
310
  "additionalProperties": false
310
311
  },
312
+ {
313
+ "type": "object",
314
+ "properties": {
315
+ "artifacts": {
316
+ "maxItems": 32,
317
+ "type": "array",
318
+ "items": {
319
+ "type": "object",
320
+ "properties": {
321
+ "byteLength": {
322
+ "type": "integer",
323
+ "minimum": 0,
324
+ "maximum": 9007199254740991
325
+ },
326
+ "expiresAt": {
327
+ "type": "string",
328
+ "format": "date-time",
329
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
330
+ },
331
+ "fingerprint": {
332
+ "type": "string",
333
+ "pattern": "^sha256:[0-9a-f]{64}$"
334
+ },
335
+ "id": {
336
+ "type": "string",
337
+ "minLength": 1
338
+ },
339
+ "mediaType": {
340
+ "type": "string"
341
+ }
342
+ },
343
+ "required": ["byteLength", "expiresAt", "fingerprint", "id"],
344
+ "additionalProperties": false
345
+ }
346
+ },
347
+ "diagnostics": {
348
+ "type": "array",
349
+ "items": {
350
+ "type": "object",
351
+ "properties": {
352
+ "code": {
353
+ "type": "string",
354
+ "enum": [
355
+ "provider_unavailable",
356
+ "capability_denied",
357
+ "approval_required",
358
+ "validation_failed",
359
+ "execution_failed",
360
+ "output_truncated",
361
+ "timeout",
362
+ "cancelled",
363
+ "artifact_unavailable"
364
+ ]
365
+ },
366
+ "level": {
367
+ "type": "string",
368
+ "enum": ["debug", "info", "warn", "error"]
369
+ },
370
+ "safeMessage": {
371
+ "type": "string",
372
+ "maxLength": 500
373
+ },
374
+ "safeParams": {
375
+ "type": "object",
376
+ "propertyNames": {
377
+ "type": "string"
378
+ },
379
+ "additionalProperties": {
380
+ "anyOf": [
381
+ {
382
+ "type": "string"
383
+ },
384
+ {
385
+ "type": "number"
386
+ },
387
+ {
388
+ "type": "boolean"
389
+ }
390
+ ]
391
+ }
392
+ }
393
+ },
394
+ "required": ["code", "level", "safeMessage"],
395
+ "additionalProperties": false
396
+ }
397
+ },
398
+ "error": {
399
+ "type": "object",
400
+ "properties": {
401
+ "code": {
402
+ "type": "string",
403
+ "enum": [
404
+ "invalid_request",
405
+ "not_found",
406
+ "not_authorized",
407
+ "approval_required",
408
+ "capability_denied",
409
+ "validation_failed",
410
+ "provider_unavailable",
411
+ "execution_failed",
412
+ "cancelled",
413
+ "timeout"
414
+ ]
415
+ },
416
+ "message": {
417
+ "type": "string",
418
+ "minLength": 1,
419
+ "maxLength": 500
420
+ },
421
+ "retryable": {
422
+ "type": "boolean"
423
+ },
424
+ "safeDiagnostic": {
425
+ "type": "object",
426
+ "properties": {
427
+ "code": {
428
+ "type": "string",
429
+ "enum": [
430
+ "provider_unavailable",
431
+ "capability_denied",
432
+ "approval_required",
433
+ "validation_failed",
434
+ "execution_failed",
435
+ "output_truncated",
436
+ "timeout",
437
+ "cancelled",
438
+ "artifact_unavailable"
439
+ ]
440
+ },
441
+ "level": {
442
+ "type": "string",
443
+ "enum": ["debug", "info", "warn", "error"]
444
+ },
445
+ "safeMessage": {
446
+ "type": "string",
447
+ "maxLength": 500
448
+ },
449
+ "safeParams": {
450
+ "type": "object",
451
+ "propertyNames": {
452
+ "type": "string"
453
+ },
454
+ "additionalProperties": {
455
+ "anyOf": [
456
+ {
457
+ "type": "string"
458
+ },
459
+ {
460
+ "type": "number"
461
+ },
462
+ {
463
+ "type": "boolean"
464
+ }
465
+ ]
466
+ }
467
+ }
468
+ },
469
+ "required": ["code", "level", "safeMessage"],
470
+ "additionalProperties": false
471
+ }
472
+ },
473
+ "required": ["code", "message"],
474
+ "additionalProperties": false
475
+ },
476
+ "id": {
477
+ "type": "string",
478
+ "minLength": 1
479
+ },
480
+ "operationId": {
481
+ "type": "string",
482
+ "minLength": 1
483
+ },
484
+ "outcome": {
485
+ "type": "object",
486
+ "properties": {
487
+ "certainty": {
488
+ "type": "string",
489
+ "const": "proven"
490
+ },
491
+ "completion": {
492
+ "type": "string",
493
+ "const": "failed"
494
+ },
495
+ "kind": {
496
+ "type": "string",
497
+ "const": "completed"
498
+ },
499
+ "retryClass": {
500
+ "type": "string",
501
+ "const": "forbidden"
502
+ }
503
+ },
504
+ "required": ["certainty", "completion", "kind", "retryClass"],
505
+ "additionalProperties": false
506
+ },
507
+ "owningGeneration": {
508
+ "type": "string",
509
+ "minLength": 1
510
+ },
511
+ "status": {
512
+ "type": "string",
513
+ "const": "error"
514
+ },
515
+ "value": {
516
+ "$ref": "#/$defs/__schema0"
517
+ }
518
+ },
519
+ "required": [
520
+ "error",
521
+ "id",
522
+ "operationId",
523
+ "outcome",
524
+ "owningGeneration",
525
+ "status",
526
+ "value"
527
+ ],
528
+ "additionalProperties": false
529
+ },
311
530
  {
312
531
  "type": "object",
313
532
  "properties": {
@@ -594,53 +813,116 @@
594
813
  "type": "object",
595
814
  "properties": {
596
815
  "approvalChallenge": {
597
- "type": "object",
598
- "properties": {
599
- "challengeId": {
600
- "type": "string",
601
- "format": "uuid",
602
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
603
- },
604
- "expiresAt": {
605
- "type": "string",
606
- "format": "date-time",
607
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
608
- }
609
- },
610
- "required": ["challengeId", "expiresAt"],
611
- "additionalProperties": false
612
- },
613
- "error": {
614
- "type": "object",
615
- "properties": {
616
- "code": {
617
- "type": "string",
618
- "const": "approval_required"
619
- },
620
- "message": {
621
- "type": "string",
622
- "minLength": 1,
623
- "maxLength": 500
624
- },
625
- "retryable": {
626
- "type": "boolean"
627
- },
628
- "safeDiagnostic": {
816
+ "anyOf": [
817
+ {
629
818
  "type": "object",
630
819
  "properties": {
631
- "code": {
820
+ "challengeId": {
632
821
  "type": "string",
633
- "enum": [
634
- "provider_unavailable",
635
- "capability_denied",
636
- "approval_required",
637
- "validation_failed",
638
- "execution_failed",
639
- "output_truncated",
640
- "timeout",
641
- "cancelled",
642
- "artifact_unavailable"
643
- ]
822
+ "format": "uuid",
823
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
824
+ },
825
+ "expiresAt": {
826
+ "type": "string",
827
+ "format": "date-time",
828
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
829
+ }
830
+ },
831
+ "required": ["challengeId", "expiresAt"],
832
+ "additionalProperties": false
833
+ },
834
+ {
835
+ "type": "object",
836
+ "properties": {
837
+ "challengeId": {
838
+ "type": "string",
839
+ "format": "uuid",
840
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
841
+ },
842
+ "expiresAt": {
843
+ "type": "string",
844
+ "format": "date-time",
845
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
846
+ },
847
+ "kind": {
848
+ "type": "string",
849
+ "const": "managed_google"
850
+ },
851
+ "managedGoogleDisplay": {
852
+ "type": "object",
853
+ "properties": {
854
+ "accountId": {
855
+ "type": "string",
856
+ "format": "uuid",
857
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
858
+ },
859
+ "authorizationId": {
860
+ "type": "string",
861
+ "format": "uuid",
862
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
863
+ },
864
+ "accountAlias": {
865
+ "type": "string",
866
+ "minLength": 1,
867
+ "maxLength": 320
868
+ },
869
+ "applicationLabel": {
870
+ "type": "string",
871
+ "minLength": 1,
872
+ "maxLength": 160
873
+ },
874
+ "authorizationMetadataRevision": {
875
+ "type": "integer",
876
+ "exclusiveMinimum": 0,
877
+ "maximum": 9007199254740991
878
+ }
879
+ },
880
+ "required": [
881
+ "accountId",
882
+ "authorizationId",
883
+ "accountAlias",
884
+ "applicationLabel",
885
+ "authorizationMetadataRevision"
886
+ ],
887
+ "additionalProperties": false
888
+ }
889
+ },
890
+ "required": ["challengeId", "expiresAt", "kind", "managedGoogleDisplay"],
891
+ "additionalProperties": false
892
+ }
893
+ ]
894
+ },
895
+ "error": {
896
+ "type": "object",
897
+ "properties": {
898
+ "code": {
899
+ "type": "string",
900
+ "const": "approval_required"
901
+ },
902
+ "message": {
903
+ "type": "string",
904
+ "minLength": 1,
905
+ "maxLength": 500
906
+ },
907
+ "retryable": {
908
+ "type": "boolean"
909
+ },
910
+ "safeDiagnostic": {
911
+ "type": "object",
912
+ "properties": {
913
+ "code": {
914
+ "type": "string",
915
+ "enum": [
916
+ "provider_unavailable",
917
+ "capability_denied",
918
+ "approval_required",
919
+ "validation_failed",
920
+ "execution_failed",
921
+ "output_truncated",
922
+ "timeout",
923
+ "cancelled",
924
+ "artifact_unavailable"
925
+ ]
644
926
  },
645
927
  "level": {
646
928
  "type": "string",
@@ -841,15 +1123,349 @@
841
1123
  {
842
1124
  "$ref": "#/$defs/__schema0"
843
1125
  }
844
- ]
1126
+ ]
1127
+ }
1128
+ }
1129
+ },
1130
+ "refinementIdentities": [
1131
+ "portal.batch.unique-item-ids",
1132
+ "portal.json.canonical",
1133
+ "portal.request-id.not-reserved"
1134
+ ]
1135
+ },
1136
+ "portal.file.request": {
1137
+ "jsonSchema": {
1138
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1139
+ "oneOf": [
1140
+ {
1141
+ "type": "object",
1142
+ "properties": {
1143
+ "action": {
1144
+ "type": "string",
1145
+ "const": "attach"
1146
+ },
1147
+ "source": {
1148
+ "oneOf": [
1149
+ {
1150
+ "type": "object",
1151
+ "properties": {
1152
+ "kind": {
1153
+ "type": "string",
1154
+ "const": "operation-file"
1155
+ },
1156
+ "referenceId": {
1157
+ "type": "string",
1158
+ "format": "uuid",
1159
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
1160
+ },
1161
+ "path": {
1162
+ "type": "string",
1163
+ "minLength": 1,
1164
+ "maxLength": 8192
1165
+ }
1166
+ },
1167
+ "required": ["kind", "referenceId", "path"],
1168
+ "additionalProperties": false
1169
+ },
1170
+ {
1171
+ "type": "object",
1172
+ "properties": {
1173
+ "kind": {
1174
+ "type": "string",
1175
+ "const": "tool-vm-file"
1176
+ },
1177
+ "path": {
1178
+ "type": "string",
1179
+ "minLength": 1,
1180
+ "maxLength": 8192
1181
+ }
1182
+ },
1183
+ "required": ["kind", "path"],
1184
+ "additionalProperties": false
1185
+ }
1186
+ ]
1187
+ },
1188
+ "caption": {
1189
+ "type": "string",
1190
+ "maxLength": 1024
1191
+ }
1192
+ },
1193
+ "required": ["action", "source"],
1194
+ "additionalProperties": false
1195
+ }
1196
+ ]
1197
+ },
1198
+ "refinementIdentities": []
1199
+ },
1200
+ "portal.file.result": {
1201
+ "jsonSchema": {
1202
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1203
+ "oneOf": [
1204
+ {
1205
+ "type": "object",
1206
+ "properties": {
1207
+ "kind": {
1208
+ "type": "string",
1209
+ "const": "attached"
1210
+ },
1211
+ "messageId": {
1212
+ "type": "string",
1213
+ "minLength": 1,
1214
+ "maxLength": 256
1215
+ },
1216
+ "fileName": {
1217
+ "type": "string",
1218
+ "minLength": 1,
1219
+ "maxLength": 255
1220
+ },
1221
+ "byteLength": {
1222
+ "type": "integer",
1223
+ "minimum": 0,
1224
+ "maximum": 16777216
1225
+ },
1226
+ "sha256": {
1227
+ "type": "string",
1228
+ "pattern": "^[a-f0-9]{64}$"
1229
+ },
1230
+ "cleanup": {
1231
+ "type": "string",
1232
+ "enum": ["complete", "pending"]
1233
+ }
1234
+ },
1235
+ "required": ["kind", "messageId", "fileName", "byteLength", "sha256", "cleanup"],
1236
+ "additionalProperties": false
1237
+ },
1238
+ {
1239
+ "type": "object",
1240
+ "properties": {
1241
+ "kind": {
1242
+ "type": "string",
1243
+ "const": "attachment-failed"
1244
+ },
1245
+ "reason": {
1246
+ "type": "string",
1247
+ "enum": ["route-unavailable", "staging-failed", "native-send-failed"]
1248
+ },
1249
+ "cleanup": {
1250
+ "type": "string",
1251
+ "enum": ["complete", "pending"]
1252
+ }
1253
+ },
1254
+ "required": ["kind", "reason", "cleanup"],
1255
+ "additionalProperties": false
1256
+ },
1257
+ {
1258
+ "type": "object",
1259
+ "properties": {
1260
+ "kind": {
1261
+ "type": "string",
1262
+ "const": "attachment-unconfirmed"
1263
+ },
1264
+ "reason": {
1265
+ "type": "string",
1266
+ "enum": ["send-timeout", "send-error"]
1267
+ },
1268
+ "cleanup": {
1269
+ "type": "string",
1270
+ "enum": ["complete", "pending"]
1271
+ }
1272
+ },
1273
+ "required": ["kind", "reason", "cleanup"],
1274
+ "additionalProperties": false
1275
+ },
1276
+ {
1277
+ "type": "object",
1278
+ "properties": {
1279
+ "kind": {
1280
+ "type": "string",
1281
+ "const": "failed"
1282
+ },
1283
+ "reason": {
1284
+ "type": "string",
1285
+ "enum": [
1286
+ "unavailable",
1287
+ "busy",
1288
+ "expired",
1289
+ "stale-authority",
1290
+ "invalid-path",
1291
+ "size-limit",
1292
+ "destination-conflict",
1293
+ "transfer-failed",
1294
+ "cleanup-pending"
1295
+ ]
1296
+ }
1297
+ },
1298
+ "required": ["kind", "reason"],
1299
+ "additionalProperties": false
1300
+ }
1301
+ ]
1302
+ },
1303
+ "refinementIdentities": []
1304
+ },
1305
+ "portal.attachment.request": {
1306
+ "jsonSchema": {
1307
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1308
+ "oneOf": [
1309
+ {
1310
+ "type": "object",
1311
+ "properties": {
1312
+ "action": {
1313
+ "type": "string",
1314
+ "const": "stage"
1315
+ },
1316
+ "source": {
1317
+ "oneOf": [
1318
+ {
1319
+ "type": "object",
1320
+ "properties": {
1321
+ "kind": {
1322
+ "type": "string",
1323
+ "const": "operation-file"
1324
+ },
1325
+ "referenceId": {
1326
+ "type": "string",
1327
+ "format": "uuid",
1328
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
1329
+ },
1330
+ "path": {
1331
+ "type": "string",
1332
+ "minLength": 1,
1333
+ "maxLength": 8192
1334
+ }
1335
+ },
1336
+ "required": ["kind", "referenceId", "path"],
1337
+ "additionalProperties": false
1338
+ },
1339
+ {
1340
+ "type": "object",
1341
+ "properties": {
1342
+ "kind": {
1343
+ "type": "string",
1344
+ "const": "tool-vm-file"
1345
+ },
1346
+ "path": {
1347
+ "type": "string",
1348
+ "minLength": 1,
1349
+ "maxLength": 8192
1350
+ }
1351
+ },
1352
+ "required": ["kind", "path"],
1353
+ "additionalProperties": false
1354
+ }
1355
+ ]
1356
+ }
1357
+ },
1358
+ "required": ["action", "source"],
1359
+ "additionalProperties": false
1360
+ },
1361
+ {
1362
+ "type": "object",
1363
+ "properties": {
1364
+ "action": {
1365
+ "type": "string",
1366
+ "const": "settle"
1367
+ },
1368
+ "stagingId": {
1369
+ "type": "string",
1370
+ "format": "uuid",
1371
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
1372
+ },
1373
+ "outcome": {
1374
+ "type": "string",
1375
+ "enum": ["sent", "failed", "unconfirmed", "sender-pending"]
1376
+ }
1377
+ },
1378
+ "required": ["action", "stagingId", "outcome"],
1379
+ "additionalProperties": false
1380
+ }
1381
+ ]
1382
+ },
1383
+ "refinementIdentities": []
1384
+ },
1385
+ "portal.attachment.result": {
1386
+ "jsonSchema": {
1387
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1388
+ "oneOf": [
1389
+ {
1390
+ "type": "object",
1391
+ "properties": {
1392
+ "kind": {
1393
+ "type": "string",
1394
+ "const": "staged"
1395
+ },
1396
+ "stagingId": {
1397
+ "type": "string",
1398
+ "format": "uuid",
1399
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
1400
+ },
1401
+ "path": {
1402
+ "type": "string",
1403
+ "pattern": "^\\/home\\/hermes\\/\\.cache\\/agent-vm-native\\/[a-f0-9]{64}\\/[a-f0-9]{64}\\/portal-native-[a-z0-9][a-z0-9_-]{0,63}-[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}\\/(?!\\.{1,2}$)[^/\\\\\\u0000-\\u001f\\u007f]{1,255}$"
1404
+ },
1405
+ "byteLength": {
1406
+ "type": "integer",
1407
+ "minimum": 0,
1408
+ "maximum": 16777216
1409
+ },
1410
+ "sha256": {
1411
+ "type": "string",
1412
+ "pattern": "^[a-f0-9]{64}$"
1413
+ }
1414
+ },
1415
+ "required": ["kind", "stagingId", "path", "byteLength", "sha256"],
1416
+ "additionalProperties": false
1417
+ },
1418
+ {
1419
+ "type": "object",
1420
+ "properties": {
1421
+ "kind": {
1422
+ "type": "string",
1423
+ "const": "failed"
1424
+ },
1425
+ "reason": {
1426
+ "type": "string",
1427
+ "enum": ["unavailable", "capacity", "transfer-failed", "cleanup-pending"]
1428
+ }
1429
+ },
1430
+ "required": ["kind", "reason"],
1431
+ "additionalProperties": false
1432
+ },
1433
+ {
1434
+ "type": "object",
1435
+ "properties": {
1436
+ "kind": {
1437
+ "type": "string",
1438
+ "const": "cleaned"
1439
+ }
1440
+ },
1441
+ "required": ["kind"],
1442
+ "additionalProperties": false
1443
+ },
1444
+ {
1445
+ "type": "object",
1446
+ "properties": {
1447
+ "kind": {
1448
+ "type": "string",
1449
+ "const": "retained"
1450
+ }
1451
+ },
1452
+ "required": ["kind"],
1453
+ "additionalProperties": false
1454
+ },
1455
+ {
1456
+ "type": "object",
1457
+ "properties": {
1458
+ "kind": {
1459
+ "type": "string",
1460
+ "const": "unavailable"
1461
+ }
1462
+ },
1463
+ "required": ["kind"],
1464
+ "additionalProperties": false
845
1465
  }
846
- }
1466
+ ]
847
1467
  },
848
- "refinementIdentities": [
849
- "portal.batch.unique-item-ids",
850
- "portal.json.canonical",
851
- "portal.request-id.not-reserved"
852
- ]
1468
+ "refinementIdentities": []
853
1469
  },
854
1470
  "portal.call.result": {
855
1471
  "jsonSchema": {
@@ -914,7 +1530,7 @@
914
1530
  "items": {
915
1531
  "type": "array",
916
1532
  "items": {
917
- "oneOf": [
1533
+ "anyOf": [
918
1534
  {
919
1535
  "type": "object",
920
1536
  "properties": {
@@ -1068,6 +1684,224 @@
1068
1684
  ],
1069
1685
  "additionalProperties": false
1070
1686
  },
1687
+ {
1688
+ "type": "object",
1689
+ "properties": {
1690
+ "artifacts": {
1691
+ "maxItems": 32,
1692
+ "type": "array",
1693
+ "items": {
1694
+ "type": "object",
1695
+ "properties": {
1696
+ "byteLength": {
1697
+ "type": "integer",
1698
+ "minimum": 0,
1699
+ "maximum": 9007199254740991
1700
+ },
1701
+ "expiresAt": {
1702
+ "type": "string",
1703
+ "format": "date-time",
1704
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
1705
+ },
1706
+ "fingerprint": {
1707
+ "type": "string",
1708
+ "pattern": "^sha256:[0-9a-f]{64}$"
1709
+ },
1710
+ "id": {
1711
+ "type": "string",
1712
+ "minLength": 1
1713
+ },
1714
+ "mediaType": {
1715
+ "type": "string"
1716
+ }
1717
+ },
1718
+ "required": ["byteLength", "expiresAt", "fingerprint", "id"],
1719
+ "additionalProperties": false
1720
+ }
1721
+ },
1722
+ "diagnostics": {
1723
+ "type": "array",
1724
+ "items": {
1725
+ "type": "object",
1726
+ "properties": {
1727
+ "code": {
1728
+ "type": "string",
1729
+ "enum": [
1730
+ "provider_unavailable",
1731
+ "capability_denied",
1732
+ "approval_required",
1733
+ "validation_failed",
1734
+ "execution_failed",
1735
+ "output_truncated",
1736
+ "timeout",
1737
+ "cancelled",
1738
+ "artifact_unavailable"
1739
+ ]
1740
+ },
1741
+ "level": {
1742
+ "type": "string",
1743
+ "enum": ["debug", "info", "warn", "error"]
1744
+ },
1745
+ "safeMessage": {
1746
+ "type": "string",
1747
+ "maxLength": 500
1748
+ },
1749
+ "safeParams": {
1750
+ "type": "object",
1751
+ "propertyNames": {
1752
+ "type": "string"
1753
+ },
1754
+ "additionalProperties": {
1755
+ "anyOf": [
1756
+ {
1757
+ "type": "string"
1758
+ },
1759
+ {
1760
+ "type": "number"
1761
+ },
1762
+ {
1763
+ "type": "boolean"
1764
+ }
1765
+ ]
1766
+ }
1767
+ }
1768
+ },
1769
+ "required": ["code", "level", "safeMessage"],
1770
+ "additionalProperties": false
1771
+ }
1772
+ },
1773
+ "error": {
1774
+ "type": "object",
1775
+ "properties": {
1776
+ "code": {
1777
+ "type": "string",
1778
+ "enum": [
1779
+ "invalid_request",
1780
+ "not_found",
1781
+ "not_authorized",
1782
+ "approval_required",
1783
+ "capability_denied",
1784
+ "validation_failed",
1785
+ "provider_unavailable",
1786
+ "execution_failed",
1787
+ "cancelled",
1788
+ "timeout"
1789
+ ]
1790
+ },
1791
+ "message": {
1792
+ "type": "string",
1793
+ "minLength": 1,
1794
+ "maxLength": 500
1795
+ },
1796
+ "retryable": {
1797
+ "type": "boolean"
1798
+ },
1799
+ "safeDiagnostic": {
1800
+ "type": "object",
1801
+ "properties": {
1802
+ "code": {
1803
+ "type": "string",
1804
+ "enum": [
1805
+ "provider_unavailable",
1806
+ "capability_denied",
1807
+ "approval_required",
1808
+ "validation_failed",
1809
+ "execution_failed",
1810
+ "output_truncated",
1811
+ "timeout",
1812
+ "cancelled",
1813
+ "artifact_unavailable"
1814
+ ]
1815
+ },
1816
+ "level": {
1817
+ "type": "string",
1818
+ "enum": ["debug", "info", "warn", "error"]
1819
+ },
1820
+ "safeMessage": {
1821
+ "type": "string",
1822
+ "maxLength": 500
1823
+ },
1824
+ "safeParams": {
1825
+ "type": "object",
1826
+ "propertyNames": {
1827
+ "type": "string"
1828
+ },
1829
+ "additionalProperties": {
1830
+ "anyOf": [
1831
+ {
1832
+ "type": "string"
1833
+ },
1834
+ {
1835
+ "type": "number"
1836
+ },
1837
+ {
1838
+ "type": "boolean"
1839
+ }
1840
+ ]
1841
+ }
1842
+ }
1843
+ },
1844
+ "required": ["code", "level", "safeMessage"],
1845
+ "additionalProperties": false
1846
+ }
1847
+ },
1848
+ "required": ["code", "message"],
1849
+ "additionalProperties": false
1850
+ },
1851
+ "id": {
1852
+ "type": "string",
1853
+ "minLength": 1
1854
+ },
1855
+ "operationId": {
1856
+ "type": "string",
1857
+ "minLength": 1
1858
+ },
1859
+ "outcome": {
1860
+ "type": "object",
1861
+ "properties": {
1862
+ "certainty": {
1863
+ "type": "string",
1864
+ "const": "proven"
1865
+ },
1866
+ "completion": {
1867
+ "type": "string",
1868
+ "const": "failed"
1869
+ },
1870
+ "kind": {
1871
+ "type": "string",
1872
+ "const": "completed"
1873
+ },
1874
+ "retryClass": {
1875
+ "type": "string",
1876
+ "const": "forbidden"
1877
+ }
1878
+ },
1879
+ "required": ["certainty", "completion", "kind", "retryClass"],
1880
+ "additionalProperties": false
1881
+ },
1882
+ "owningGeneration": {
1883
+ "type": "string",
1884
+ "minLength": 1
1885
+ },
1886
+ "status": {
1887
+ "type": "string",
1888
+ "const": "error"
1889
+ },
1890
+ "value": {
1891
+ "$ref": "#/$defs/__schema0"
1892
+ }
1893
+ },
1894
+ "required": [
1895
+ "error",
1896
+ "id",
1897
+ "operationId",
1898
+ "outcome",
1899
+ "owningGeneration",
1900
+ "status",
1901
+ "value"
1902
+ ],
1903
+ "additionalProperties": false
1904
+ },
1071
1905
  {
1072
1906
  "type": "object",
1073
1907
  "properties": {
@@ -1361,21 +2195,84 @@
1361
2195
  "type": "object",
1362
2196
  "properties": {
1363
2197
  "approvalChallenge": {
1364
- "type": "object",
1365
- "properties": {
1366
- "challengeId": {
1367
- "type": "string",
1368
- "format": "uuid",
1369
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
2198
+ "anyOf": [
2199
+ {
2200
+ "type": "object",
2201
+ "properties": {
2202
+ "challengeId": {
2203
+ "type": "string",
2204
+ "format": "uuid",
2205
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
2206
+ },
2207
+ "expiresAt": {
2208
+ "type": "string",
2209
+ "format": "date-time",
2210
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
2211
+ }
2212
+ },
2213
+ "required": ["challengeId", "expiresAt"],
2214
+ "additionalProperties": false
1370
2215
  },
1371
- "expiresAt": {
1372
- "type": "string",
1373
- "format": "date-time",
1374
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
2216
+ {
2217
+ "type": "object",
2218
+ "properties": {
2219
+ "challengeId": {
2220
+ "type": "string",
2221
+ "format": "uuid",
2222
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
2223
+ },
2224
+ "expiresAt": {
2225
+ "type": "string",
2226
+ "format": "date-time",
2227
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
2228
+ },
2229
+ "kind": {
2230
+ "type": "string",
2231
+ "const": "managed_google"
2232
+ },
2233
+ "managedGoogleDisplay": {
2234
+ "type": "object",
2235
+ "properties": {
2236
+ "accountId": {
2237
+ "type": "string",
2238
+ "format": "uuid",
2239
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
2240
+ },
2241
+ "authorizationId": {
2242
+ "type": "string",
2243
+ "format": "uuid",
2244
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
2245
+ },
2246
+ "accountAlias": {
2247
+ "type": "string",
2248
+ "minLength": 1,
2249
+ "maxLength": 320
2250
+ },
2251
+ "applicationLabel": {
2252
+ "type": "string",
2253
+ "minLength": 1,
2254
+ "maxLength": 160
2255
+ },
2256
+ "authorizationMetadataRevision": {
2257
+ "type": "integer",
2258
+ "exclusiveMinimum": 0,
2259
+ "maximum": 9007199254740991
2260
+ }
2261
+ },
2262
+ "required": [
2263
+ "accountId",
2264
+ "authorizationId",
2265
+ "accountAlias",
2266
+ "applicationLabel",
2267
+ "authorizationMetadataRevision"
2268
+ ],
2269
+ "additionalProperties": false
2270
+ }
2271
+ },
2272
+ "required": ["challengeId", "expiresAt", "kind", "managedGoogleDisplay"],
2273
+ "additionalProperties": false
1375
2274
  }
1376
- },
1377
- "required": ["challengeId", "expiresAt"],
1378
- "additionalProperties": false
2275
+ ]
1379
2276
  },
1380
2277
  "error": {
1381
2278
  "type": "object",
@@ -1911,66 +2808,188 @@
1911
2808
  {
1912
2809
  "type": "object",
1913
2810
  "properties": {
1914
- "accountProfiles": {
2811
+ "kind": {
2812
+ "type": "string",
2813
+ "const": "operation-options"
2814
+ },
2815
+ "items": {
1915
2816
  "readOnly": true,
1916
- "minItems": 1,
2817
+ "maxItems": 256,
1917
2818
  "type": "array",
1918
2819
  "items": {
1919
2820
  "type": "object",
1920
2821
  "properties": {
1921
- "accountLabel": {
1922
- "type": "string",
1923
- "minLength": 1,
1924
- "maxLength": 320
2822
+ "requirement": {
2823
+ "type": "object",
2824
+ "properties": {
2825
+ "applicationId": {
2826
+ "type": "string",
2827
+ "pattern": "^[a-z0-9][a-z0-9._-]{0,127}$"
2828
+ },
2829
+ "operationId": {
2830
+ "type": "string",
2831
+ "minLength": 1,
2832
+ "maxLength": 128
2833
+ }
2834
+ },
2835
+ "required": ["applicationId", "operationId"],
2836
+ "additionalProperties": false
1925
2837
  },
1926
- "accountProfileId": {
1927
- "type": "string",
1928
- "pattern": "^[a-z0-9][a-z0-9._-]{0,127}$"
2838
+ "availability": {
2839
+ "oneOf": [
2840
+ {
2841
+ "type": "object",
2842
+ "properties": {
2843
+ "kind": {
2844
+ "type": "string",
2845
+ "const": "accounts"
2846
+ },
2847
+ "accounts": {
2848
+ "readOnly": true,
2849
+ "maxItems": 256,
2850
+ "type": "array",
2851
+ "items": {
2852
+ "type": "object",
2853
+ "properties": {
2854
+ "accountId": {
2855
+ "type": "string",
2856
+ "format": "uuid",
2857
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
2858
+ },
2859
+ "metadata": {
2860
+ "oneOf": [
2861
+ {
2862
+ "type": "object",
2863
+ "properties": {
2864
+ "kind": {
2865
+ "type": "string",
2866
+ "const": "verified"
2867
+ },
2868
+ "accountAlias": {
2869
+ "type": "string",
2870
+ "minLength": 1,
2871
+ "maxLength": 320
2872
+ }
2873
+ },
2874
+ "required": [
2875
+ "kind",
2876
+ "accountAlias"
2877
+ ],
2878
+ "additionalProperties": false
2879
+ },
2880
+ {
2881
+ "type": "object",
2882
+ "properties": {
2883
+ "kind": {
2884
+ "type": "string",
2885
+ "const": "unavailable"
2886
+ }
2887
+ },
2888
+ "required": ["kind"],
2889
+ "additionalProperties": false
2890
+ }
2891
+ ]
2892
+ },
2893
+ "availability": {
2894
+ "oneOf": [
2895
+ {
2896
+ "type": "object",
2897
+ "properties": {
2898
+ "kind": {
2899
+ "type": "string",
2900
+ "const": "ready"
2901
+ },
2902
+ "disposition": {
2903
+ "type": "string",
2904
+ "enum": ["ask", "allow"]
2905
+ },
2906
+ "overrideRevision": {
2907
+ "type": "integer",
2908
+ "exclusiveMinimum": 0,
2909
+ "maximum": 9007199254740991
2910
+ },
2911
+ "defaultsRevision": {
2912
+ "type": "string",
2913
+ "minLength": 1,
2914
+ "maxLength": 256
2915
+ }
2916
+ },
2917
+ "required": [
2918
+ "kind",
2919
+ "disposition",
2920
+ "overrideRevision",
2921
+ "defaultsRevision"
2922
+ ],
2923
+ "additionalProperties": false
2924
+ },
2925
+ {
2926
+ "type": "object",
2927
+ "properties": {
2928
+ "kind": {
2929
+ "type": "string",
2930
+ "const": "consent-required"
2931
+ }
2932
+ },
2933
+ "required": ["kind"],
2934
+ "additionalProperties": false
2935
+ },
2936
+ {
2937
+ "type": "object",
2938
+ "properties": {
2939
+ "kind": {
2940
+ "type": "string",
2941
+ "const": "denied"
2942
+ }
2943
+ },
2944
+ "required": ["kind"],
2945
+ "additionalProperties": false
2946
+ },
2947
+ {
2948
+ "type": "object",
2949
+ "properties": {
2950
+ "kind": {
2951
+ "type": "string",
2952
+ "const": "unavailable"
2953
+ }
2954
+ },
2955
+ "required": ["kind"],
2956
+ "additionalProperties": false
2957
+ }
2958
+ ]
2959
+ }
2960
+ },
2961
+ "required": [
2962
+ "accountId",
2963
+ "metadata",
2964
+ "availability"
2965
+ ],
2966
+ "additionalProperties": false
2967
+ }
2968
+ }
2969
+ },
2970
+ "required": ["kind", "accounts"],
2971
+ "additionalProperties": false
2972
+ },
2973
+ {
2974
+ "type": "object",
2975
+ "properties": {
2976
+ "kind": {
2977
+ "type": "string",
2978
+ "const": "unavailable"
2979
+ }
2980
+ },
2981
+ "required": ["kind"],
2982
+ "additionalProperties": false
2983
+ }
2984
+ ]
1929
2985
  }
1930
2986
  },
1931
- "required": ["accountLabel", "accountProfileId"],
2987
+ "required": ["requirement", "availability"],
1932
2988
  "additionalProperties": false
1933
2989
  }
1934
- },
1935
- "kind": {
1936
- "type": "string",
1937
- "const": "ready"
1938
- }
1939
- },
1940
- "required": ["accountProfiles", "kind"],
1941
- "additionalProperties": false
1942
- },
1943
- {
1944
- "type": "object",
1945
- "properties": {
1946
- "kind": {
1947
- "type": "string",
1948
- "const": "authorization-required"
1949
- }
1950
- },
1951
- "required": ["kind"],
1952
- "additionalProperties": false
1953
- },
1954
- {
1955
- "type": "object",
1956
- "properties": {
1957
- "kind": {
1958
- "type": "string",
1959
- "const": "reauthorization-required"
1960
- }
1961
- },
1962
- "required": ["kind"],
1963
- "additionalProperties": false
1964
- },
1965
- {
1966
- "type": "object",
1967
- "properties": {
1968
- "kind": {
1969
- "type": "string",
1970
- "const": "scope-insufficient"
1971
2990
  }
1972
2991
  },
1973
- "required": ["kind"],
2992
+ "required": ["kind", "items"],
1974
2993
  "additionalProperties": false
1975
2994
  },
1976
2995
  {
@@ -1978,7 +2997,7 @@
1978
2997
  "properties": {
1979
2998
  "kind": {
1980
2999
  "type": "string",
1981
- "const": "authorization-status-unavailable"
3000
+ "const": "unavailable"
1982
3001
  }
1983
3002
  },
1984
3003
  "required": ["kind"],
@@ -1987,59 +3006,50 @@
1987
3006
  ]
1988
3007
  },
1989
3008
  "oauthRequirement": {
1990
- "oneOf": [
1991
- {
1992
- "type": "object",
1993
- "properties": {
1994
- "applicationId": {
1995
- "type": "string",
1996
- "pattern": "^[a-z0-9][a-z0-9._-]{0,127}$"
1997
- },
1998
- "kind": {
1999
- "type": "string",
2000
- "const": "oauth-account-profile"
2001
- },
2002
- "minimumPermission": {
2003
- "type": "string",
2004
- "enum": ["read", "write"]
2005
- },
2006
- "serviceId": {
2007
- "type": "string",
2008
- "pattern": "^[a-z0-9][a-z0-9._-]{0,127}$"
2009
- }
2010
- },
2011
- "required": [
2012
- "applicationId",
2013
- "kind",
2014
- "minimumPermission",
2015
- "serviceId"
2016
- ],
2017
- "additionalProperties": false
3009
+ "type": "object",
3010
+ "properties": {
3011
+ "kind": {
3012
+ "type": "string",
3013
+ "const": "google-account"
2018
3014
  },
2019
- {
2020
- "type": "object",
2021
- "properties": {
2022
- "accountProfileArgument": {
2023
- "type": "string",
2024
- "const": "accountProfile"
2025
- },
2026
- "describeBeforeCall": {
2027
- "type": "boolean",
2028
- "const": true
3015
+ "accountArgument": {
3016
+ "type": "string",
3017
+ "const": "accountId"
3018
+ },
3019
+ "describeBeforeCall": {
3020
+ "type": "boolean",
3021
+ "const": true
3022
+ },
3023
+ "operations": {
3024
+ "readOnly": true,
3025
+ "minItems": 1,
3026
+ "maxItems": 256,
3027
+ "type": "array",
3028
+ "items": {
3029
+ "type": "object",
3030
+ "properties": {
3031
+ "applicationId": {
3032
+ "type": "string",
3033
+ "pattern": "^[a-z0-9][a-z0-9._-]{0,127}$"
3034
+ },
3035
+ "operationId": {
3036
+ "type": "string",
3037
+ "minLength": 1,
3038
+ "maxLength": 128
3039
+ }
2029
3040
  },
2030
- "kind": {
2031
- "type": "string",
2032
- "const": "invocation-dependent-oauth-account-profile"
2033
- }
2034
- },
2035
- "required": [
2036
- "accountProfileArgument",
2037
- "describeBeforeCall",
2038
- "kind"
2039
- ],
2040
- "additionalProperties": false
3041
+ "required": ["applicationId", "operationId"],
3042
+ "additionalProperties": false
3043
+ }
2041
3044
  }
2042
- ]
3045
+ },
3046
+ "required": [
3047
+ "kind",
3048
+ "accountArgument",
3049
+ "describeBeforeCall",
3050
+ "operations"
3051
+ ],
3052
+ "additionalProperties": false
2043
3053
  },
2044
3054
  "toolRef": {
2045
3055
  "type": "string",
@@ -2280,7 +3290,11 @@
2280
3290
  }
2281
3291
  }
2282
3292
  },
2283
- "refinementIdentities": ["portal.request-id.not-reserved", "portal.result.aggregate-status"]
3293
+ "refinementIdentities": [
3294
+ "portal.google.discovery-policy",
3295
+ "portal.request-id.not-reserved",
3296
+ "portal.result.aggregate-status"
3297
+ ]
2284
3298
  },
2285
3299
  "portal.json-value": {
2286
3300
  "jsonSchema": {
@@ -2736,66 +3750,188 @@
2736
3750
  {
2737
3751
  "type": "object",
2738
3752
  "properties": {
2739
- "accountProfiles": {
3753
+ "kind": {
3754
+ "type": "string",
3755
+ "const": "operation-options"
3756
+ },
3757
+ "items": {
2740
3758
  "readOnly": true,
2741
- "minItems": 1,
3759
+ "maxItems": 256,
2742
3760
  "type": "array",
2743
3761
  "items": {
2744
3762
  "type": "object",
2745
3763
  "properties": {
2746
- "accountLabel": {
2747
- "type": "string",
2748
- "minLength": 1,
2749
- "maxLength": 320
3764
+ "requirement": {
3765
+ "type": "object",
3766
+ "properties": {
3767
+ "applicationId": {
3768
+ "type": "string",
3769
+ "pattern": "^[a-z0-9][a-z0-9._-]{0,127}$"
3770
+ },
3771
+ "operationId": {
3772
+ "type": "string",
3773
+ "minLength": 1,
3774
+ "maxLength": 128
3775
+ }
3776
+ },
3777
+ "required": ["applicationId", "operationId"],
3778
+ "additionalProperties": false
2750
3779
  },
2751
- "accountProfileId": {
2752
- "type": "string",
2753
- "pattern": "^[a-z0-9][a-z0-9._-]{0,127}$"
3780
+ "availability": {
3781
+ "oneOf": [
3782
+ {
3783
+ "type": "object",
3784
+ "properties": {
3785
+ "kind": {
3786
+ "type": "string",
3787
+ "const": "accounts"
3788
+ },
3789
+ "accounts": {
3790
+ "readOnly": true,
3791
+ "maxItems": 256,
3792
+ "type": "array",
3793
+ "items": {
3794
+ "type": "object",
3795
+ "properties": {
3796
+ "accountId": {
3797
+ "type": "string",
3798
+ "format": "uuid",
3799
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
3800
+ },
3801
+ "metadata": {
3802
+ "oneOf": [
3803
+ {
3804
+ "type": "object",
3805
+ "properties": {
3806
+ "kind": {
3807
+ "type": "string",
3808
+ "const": "verified"
3809
+ },
3810
+ "accountAlias": {
3811
+ "type": "string",
3812
+ "minLength": 1,
3813
+ "maxLength": 320
3814
+ }
3815
+ },
3816
+ "required": [
3817
+ "kind",
3818
+ "accountAlias"
3819
+ ],
3820
+ "additionalProperties": false
3821
+ },
3822
+ {
3823
+ "type": "object",
3824
+ "properties": {
3825
+ "kind": {
3826
+ "type": "string",
3827
+ "const": "unavailable"
3828
+ }
3829
+ },
3830
+ "required": ["kind"],
3831
+ "additionalProperties": false
3832
+ }
3833
+ ]
3834
+ },
3835
+ "availability": {
3836
+ "oneOf": [
3837
+ {
3838
+ "type": "object",
3839
+ "properties": {
3840
+ "kind": {
3841
+ "type": "string",
3842
+ "const": "ready"
3843
+ },
3844
+ "disposition": {
3845
+ "type": "string",
3846
+ "enum": ["ask", "allow"]
3847
+ },
3848
+ "overrideRevision": {
3849
+ "type": "integer",
3850
+ "exclusiveMinimum": 0,
3851
+ "maximum": 9007199254740991
3852
+ },
3853
+ "defaultsRevision": {
3854
+ "type": "string",
3855
+ "minLength": 1,
3856
+ "maxLength": 256
3857
+ }
3858
+ },
3859
+ "required": [
3860
+ "kind",
3861
+ "disposition",
3862
+ "overrideRevision",
3863
+ "defaultsRevision"
3864
+ ],
3865
+ "additionalProperties": false
3866
+ },
3867
+ {
3868
+ "type": "object",
3869
+ "properties": {
3870
+ "kind": {
3871
+ "type": "string",
3872
+ "const": "consent-required"
3873
+ }
3874
+ },
3875
+ "required": ["kind"],
3876
+ "additionalProperties": false
3877
+ },
3878
+ {
3879
+ "type": "object",
3880
+ "properties": {
3881
+ "kind": {
3882
+ "type": "string",
3883
+ "const": "denied"
3884
+ }
3885
+ },
3886
+ "required": ["kind"],
3887
+ "additionalProperties": false
3888
+ },
3889
+ {
3890
+ "type": "object",
3891
+ "properties": {
3892
+ "kind": {
3893
+ "type": "string",
3894
+ "const": "unavailable"
3895
+ }
3896
+ },
3897
+ "required": ["kind"],
3898
+ "additionalProperties": false
3899
+ }
3900
+ ]
3901
+ }
3902
+ },
3903
+ "required": [
3904
+ "accountId",
3905
+ "metadata",
3906
+ "availability"
3907
+ ],
3908
+ "additionalProperties": false
3909
+ }
3910
+ }
3911
+ },
3912
+ "required": ["kind", "accounts"],
3913
+ "additionalProperties": false
3914
+ },
3915
+ {
3916
+ "type": "object",
3917
+ "properties": {
3918
+ "kind": {
3919
+ "type": "string",
3920
+ "const": "unavailable"
3921
+ }
3922
+ },
3923
+ "required": ["kind"],
3924
+ "additionalProperties": false
3925
+ }
3926
+ ]
2754
3927
  }
2755
3928
  },
2756
- "required": ["accountLabel", "accountProfileId"],
3929
+ "required": ["requirement", "availability"],
2757
3930
  "additionalProperties": false
2758
3931
  }
2759
- },
2760
- "kind": {
2761
- "type": "string",
2762
- "const": "ready"
2763
- }
2764
- },
2765
- "required": ["accountProfiles", "kind"],
2766
- "additionalProperties": false
2767
- },
2768
- {
2769
- "type": "object",
2770
- "properties": {
2771
- "kind": {
2772
- "type": "string",
2773
- "const": "authorization-required"
2774
- }
2775
- },
2776
- "required": ["kind"],
2777
- "additionalProperties": false
2778
- },
2779
- {
2780
- "type": "object",
2781
- "properties": {
2782
- "kind": {
2783
- "type": "string",
2784
- "const": "reauthorization-required"
2785
- }
2786
- },
2787
- "required": ["kind"],
2788
- "additionalProperties": false
2789
- },
2790
- {
2791
- "type": "object",
2792
- "properties": {
2793
- "kind": {
2794
- "type": "string",
2795
- "const": "scope-insufficient"
2796
3932
  }
2797
3933
  },
2798
- "required": ["kind"],
3934
+ "required": ["kind", "items"],
2799
3935
  "additionalProperties": false
2800
3936
  },
2801
3937
  {
@@ -2803,7 +3939,7 @@
2803
3939
  "properties": {
2804
3940
  "kind": {
2805
3941
  "type": "string",
2806
- "const": "authorization-status-unavailable"
3942
+ "const": "unavailable"
2807
3943
  }
2808
3944
  },
2809
3945
  "required": ["kind"],
@@ -2812,59 +3948,50 @@
2812
3948
  ]
2813
3949
  },
2814
3950
  "oauthRequirement": {
2815
- "oneOf": [
2816
- {
2817
- "type": "object",
2818
- "properties": {
2819
- "applicationId": {
2820
- "type": "string",
2821
- "pattern": "^[a-z0-9][a-z0-9._-]{0,127}$"
2822
- },
2823
- "kind": {
2824
- "type": "string",
2825
- "const": "oauth-account-profile"
2826
- },
2827
- "minimumPermission": {
2828
- "type": "string",
2829
- "enum": ["read", "write"]
2830
- },
2831
- "serviceId": {
2832
- "type": "string",
2833
- "pattern": "^[a-z0-9][a-z0-9._-]{0,127}$"
2834
- }
2835
- },
2836
- "required": [
2837
- "applicationId",
2838
- "kind",
2839
- "minimumPermission",
2840
- "serviceId"
2841
- ],
2842
- "additionalProperties": false
3951
+ "type": "object",
3952
+ "properties": {
3953
+ "kind": {
3954
+ "type": "string",
3955
+ "const": "google-account"
2843
3956
  },
2844
- {
2845
- "type": "object",
2846
- "properties": {
2847
- "accountProfileArgument": {
2848
- "type": "string",
2849
- "const": "accountProfile"
2850
- },
2851
- "describeBeforeCall": {
2852
- "type": "boolean",
2853
- "const": true
3957
+ "accountArgument": {
3958
+ "type": "string",
3959
+ "const": "accountId"
3960
+ },
3961
+ "describeBeforeCall": {
3962
+ "type": "boolean",
3963
+ "const": true
3964
+ },
3965
+ "operations": {
3966
+ "readOnly": true,
3967
+ "minItems": 1,
3968
+ "maxItems": 256,
3969
+ "type": "array",
3970
+ "items": {
3971
+ "type": "object",
3972
+ "properties": {
3973
+ "applicationId": {
3974
+ "type": "string",
3975
+ "pattern": "^[a-z0-9][a-z0-9._-]{0,127}$"
3976
+ },
3977
+ "operationId": {
3978
+ "type": "string",
3979
+ "minLength": 1,
3980
+ "maxLength": 128
3981
+ }
2854
3982
  },
2855
- "kind": {
2856
- "type": "string",
2857
- "const": "invocation-dependent-oauth-account-profile"
2858
- }
2859
- },
2860
- "required": [
2861
- "accountProfileArgument",
2862
- "describeBeforeCall",
2863
- "kind"
2864
- ],
2865
- "additionalProperties": false
3983
+ "required": ["applicationId", "operationId"],
3984
+ "additionalProperties": false
3985
+ }
2866
3986
  }
2867
- ]
3987
+ },
3988
+ "required": [
3989
+ "kind",
3990
+ "accountArgument",
3991
+ "describeBeforeCall",
3992
+ "operations"
3993
+ ],
3994
+ "additionalProperties": false
2868
3995
  },
2869
3996
  "toolRef": {
2870
3997
  "type": "string",
@@ -3056,7 +4183,11 @@
3056
4183
  "required": ["items", "ok"],
3057
4184
  "additionalProperties": false
3058
4185
  },
3059
- "refinementIdentities": ["portal.request-id.not-reserved", "portal.result.aggregate-status"]
4186
+ "refinementIdentities": [
4187
+ "portal.google.discovery-policy",
4188
+ "portal.request-id.not-reserved",
4189
+ "portal.result.aggregate-status"
4190
+ ]
3060
4191
  },
3061
4192
  "portal.progress.event": {
3062
4193
  "jsonSchema": {
@@ -3470,66 +4601,188 @@
3470
4601
  {
3471
4602
  "type": "object",
3472
4603
  "properties": {
3473
- "accountProfiles": {
4604
+ "kind": {
4605
+ "type": "string",
4606
+ "const": "operation-options"
4607
+ },
4608
+ "items": {
3474
4609
  "readOnly": true,
3475
- "minItems": 1,
4610
+ "maxItems": 256,
3476
4611
  "type": "array",
3477
4612
  "items": {
3478
4613
  "type": "object",
3479
4614
  "properties": {
3480
- "accountLabel": {
3481
- "type": "string",
3482
- "minLength": 1,
3483
- "maxLength": 320
4615
+ "requirement": {
4616
+ "type": "object",
4617
+ "properties": {
4618
+ "applicationId": {
4619
+ "type": "string",
4620
+ "pattern": "^[a-z0-9][a-z0-9._-]{0,127}$"
4621
+ },
4622
+ "operationId": {
4623
+ "type": "string",
4624
+ "minLength": 1,
4625
+ "maxLength": 128
4626
+ }
4627
+ },
4628
+ "required": ["applicationId", "operationId"],
4629
+ "additionalProperties": false
3484
4630
  },
3485
- "accountProfileId": {
3486
- "type": "string",
3487
- "pattern": "^[a-z0-9][a-z0-9._-]{0,127}$"
4631
+ "availability": {
4632
+ "oneOf": [
4633
+ {
4634
+ "type": "object",
4635
+ "properties": {
4636
+ "kind": {
4637
+ "type": "string",
4638
+ "const": "accounts"
4639
+ },
4640
+ "accounts": {
4641
+ "readOnly": true,
4642
+ "maxItems": 256,
4643
+ "type": "array",
4644
+ "items": {
4645
+ "type": "object",
4646
+ "properties": {
4647
+ "accountId": {
4648
+ "type": "string",
4649
+ "format": "uuid",
4650
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
4651
+ },
4652
+ "metadata": {
4653
+ "oneOf": [
4654
+ {
4655
+ "type": "object",
4656
+ "properties": {
4657
+ "kind": {
4658
+ "type": "string",
4659
+ "const": "verified"
4660
+ },
4661
+ "accountAlias": {
4662
+ "type": "string",
4663
+ "minLength": 1,
4664
+ "maxLength": 320
4665
+ }
4666
+ },
4667
+ "required": [
4668
+ "kind",
4669
+ "accountAlias"
4670
+ ],
4671
+ "additionalProperties": false
4672
+ },
4673
+ {
4674
+ "type": "object",
4675
+ "properties": {
4676
+ "kind": {
4677
+ "type": "string",
4678
+ "const": "unavailable"
4679
+ }
4680
+ },
4681
+ "required": ["kind"],
4682
+ "additionalProperties": false
4683
+ }
4684
+ ]
4685
+ },
4686
+ "availability": {
4687
+ "oneOf": [
4688
+ {
4689
+ "type": "object",
4690
+ "properties": {
4691
+ "kind": {
4692
+ "type": "string",
4693
+ "const": "ready"
4694
+ },
4695
+ "disposition": {
4696
+ "type": "string",
4697
+ "enum": ["ask", "allow"]
4698
+ },
4699
+ "overrideRevision": {
4700
+ "type": "integer",
4701
+ "exclusiveMinimum": 0,
4702
+ "maximum": 9007199254740991
4703
+ },
4704
+ "defaultsRevision": {
4705
+ "type": "string",
4706
+ "minLength": 1,
4707
+ "maxLength": 256
4708
+ }
4709
+ },
4710
+ "required": [
4711
+ "kind",
4712
+ "disposition",
4713
+ "overrideRevision",
4714
+ "defaultsRevision"
4715
+ ],
4716
+ "additionalProperties": false
4717
+ },
4718
+ {
4719
+ "type": "object",
4720
+ "properties": {
4721
+ "kind": {
4722
+ "type": "string",
4723
+ "const": "consent-required"
4724
+ }
4725
+ },
4726
+ "required": ["kind"],
4727
+ "additionalProperties": false
4728
+ },
4729
+ {
4730
+ "type": "object",
4731
+ "properties": {
4732
+ "kind": {
4733
+ "type": "string",
4734
+ "const": "denied"
4735
+ }
4736
+ },
4737
+ "required": ["kind"],
4738
+ "additionalProperties": false
4739
+ },
4740
+ {
4741
+ "type": "object",
4742
+ "properties": {
4743
+ "kind": {
4744
+ "type": "string",
4745
+ "const": "unavailable"
4746
+ }
4747
+ },
4748
+ "required": ["kind"],
4749
+ "additionalProperties": false
4750
+ }
4751
+ ]
4752
+ }
4753
+ },
4754
+ "required": [
4755
+ "accountId",
4756
+ "metadata",
4757
+ "availability"
4758
+ ],
4759
+ "additionalProperties": false
4760
+ }
4761
+ }
4762
+ },
4763
+ "required": ["kind", "accounts"],
4764
+ "additionalProperties": false
4765
+ },
4766
+ {
4767
+ "type": "object",
4768
+ "properties": {
4769
+ "kind": {
4770
+ "type": "string",
4771
+ "const": "unavailable"
4772
+ }
4773
+ },
4774
+ "required": ["kind"],
4775
+ "additionalProperties": false
4776
+ }
4777
+ ]
3488
4778
  }
3489
4779
  },
3490
- "required": ["accountLabel", "accountProfileId"],
4780
+ "required": ["requirement", "availability"],
3491
4781
  "additionalProperties": false
3492
4782
  }
3493
- },
3494
- "kind": {
3495
- "type": "string",
3496
- "const": "ready"
3497
- }
3498
- },
3499
- "required": ["accountProfiles", "kind"],
3500
- "additionalProperties": false
3501
- },
3502
- {
3503
- "type": "object",
3504
- "properties": {
3505
- "kind": {
3506
- "type": "string",
3507
- "const": "authorization-required"
3508
- }
3509
- },
3510
- "required": ["kind"],
3511
- "additionalProperties": false
3512
- },
3513
- {
3514
- "type": "object",
3515
- "properties": {
3516
- "kind": {
3517
- "type": "string",
3518
- "const": "reauthorization-required"
3519
- }
3520
- },
3521
- "required": ["kind"],
3522
- "additionalProperties": false
3523
- },
3524
- {
3525
- "type": "object",
3526
- "properties": {
3527
- "kind": {
3528
- "type": "string",
3529
- "const": "scope-insufficient"
3530
4783
  }
3531
4784
  },
3532
- "required": ["kind"],
4785
+ "required": ["kind", "items"],
3533
4786
  "additionalProperties": false
3534
4787
  },
3535
4788
  {
@@ -3537,7 +4790,7 @@
3537
4790
  "properties": {
3538
4791
  "kind": {
3539
4792
  "type": "string",
3540
- "const": "authorization-status-unavailable"
4793
+ "const": "unavailable"
3541
4794
  }
3542
4795
  },
3543
4796
  "required": ["kind"],
@@ -3546,59 +4799,50 @@
3546
4799
  ]
3547
4800
  },
3548
4801
  "oauthRequirement": {
3549
- "oneOf": [
3550
- {
3551
- "type": "object",
3552
- "properties": {
3553
- "applicationId": {
3554
- "type": "string",
3555
- "pattern": "^[a-z0-9][a-z0-9._-]{0,127}$"
3556
- },
3557
- "kind": {
3558
- "type": "string",
3559
- "const": "oauth-account-profile"
3560
- },
3561
- "minimumPermission": {
3562
- "type": "string",
3563
- "enum": ["read", "write"]
3564
- },
3565
- "serviceId": {
3566
- "type": "string",
3567
- "pattern": "^[a-z0-9][a-z0-9._-]{0,127}$"
3568
- }
3569
- },
3570
- "required": [
3571
- "applicationId",
3572
- "kind",
3573
- "minimumPermission",
3574
- "serviceId"
3575
- ],
3576
- "additionalProperties": false
4802
+ "type": "object",
4803
+ "properties": {
4804
+ "kind": {
4805
+ "type": "string",
4806
+ "const": "google-account"
3577
4807
  },
3578
- {
3579
- "type": "object",
3580
- "properties": {
3581
- "accountProfileArgument": {
3582
- "type": "string",
3583
- "const": "accountProfile"
3584
- },
3585
- "describeBeforeCall": {
3586
- "type": "boolean",
3587
- "const": true
4808
+ "accountArgument": {
4809
+ "type": "string",
4810
+ "const": "accountId"
4811
+ },
4812
+ "describeBeforeCall": {
4813
+ "type": "boolean",
4814
+ "const": true
4815
+ },
4816
+ "operations": {
4817
+ "readOnly": true,
4818
+ "minItems": 1,
4819
+ "maxItems": 256,
4820
+ "type": "array",
4821
+ "items": {
4822
+ "type": "object",
4823
+ "properties": {
4824
+ "applicationId": {
4825
+ "type": "string",
4826
+ "pattern": "^[a-z0-9][a-z0-9._-]{0,127}$"
4827
+ },
4828
+ "operationId": {
4829
+ "type": "string",
4830
+ "minLength": 1,
4831
+ "maxLength": 128
4832
+ }
3588
4833
  },
3589
- "kind": {
3590
- "type": "string",
3591
- "const": "invocation-dependent-oauth-account-profile"
3592
- }
3593
- },
3594
- "required": [
3595
- "accountProfileArgument",
3596
- "describeBeforeCall",
3597
- "kind"
3598
- ],
3599
- "additionalProperties": false
4834
+ "required": ["applicationId", "operationId"],
4835
+ "additionalProperties": false
4836
+ }
3600
4837
  }
3601
- ]
4838
+ },
4839
+ "required": [
4840
+ "kind",
4841
+ "accountArgument",
4842
+ "describeBeforeCall",
4843
+ "operations"
4844
+ ],
4845
+ "additionalProperties": false
3602
4846
  },
3603
4847
  "toolRef": {
3604
4848
  "type": "string",
@@ -3857,7 +5101,11 @@
3857
5101
  }
3858
5102
  }
3859
5103
  },
3860
- "refinementIdentities": ["portal.request-id.not-reserved", "portal.result.aggregate-status"]
5104
+ "refinementIdentities": [
5105
+ "portal.google.discovery-policy",
5106
+ "portal.request-id.not-reserved",
5107
+ "portal.result.aggregate-status"
5108
+ ]
3861
5109
  },
3862
5110
  "gateway.approval.decision-request": {
3863
5111
  "jsonSchema": {