@adea-ai/sdk 1.8.1 → 1.9.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.
@@ -1139,6 +1139,40 @@
1139
1139
  ],
1140
1140
  "type": "object"
1141
1141
  },
1142
+ "graph": {
1143
+ "additionalProperties": false,
1144
+ "properties": {
1145
+ "input": {
1146
+ "additionalProperties": {},
1147
+ "description": "Plain JSON object, at most 65536 serialized UTF-8 bytes, 4096 values and 16 nested levels; executable and non-finite values are rejected.",
1148
+ "maxProperties": 4096,
1149
+ "type": "object"
1150
+ },
1151
+ "reference": {
1152
+ "additionalProperties": false,
1153
+ "properties": {
1154
+ "contentDigest": {
1155
+ "pattern": "^sha256:[a-f0-9]{64}$",
1156
+ "type": "string"
1157
+ },
1158
+ "graphDefinitionId": {
1159
+ "maxLength": 256,
1160
+ "minLength": 1,
1161
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1162
+ "type": "string"
1163
+ },
1164
+ "graphVersion": {
1165
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
1166
+ "type": "string"
1167
+ }
1168
+ },
1169
+ "required": ["graphDefinitionId", "graphVersion", "contentDigest"],
1170
+ "type": "object"
1171
+ }
1172
+ },
1173
+ "required": ["reference", "input"],
1174
+ "type": "object"
1175
+ },
1142
1176
  "outputContractRef": {
1143
1177
  "maxLength": 512,
1144
1178
  "minLength": 1,
@@ -1302,6 +1336,40 @@
1302
1336
  "type": "object"
1303
1337
  },
1304
1338
  "contextPackage": { "not": {} },
1339
+ "graph": {
1340
+ "additionalProperties": false,
1341
+ "properties": {
1342
+ "input": {
1343
+ "additionalProperties": {},
1344
+ "description": "Plain JSON object, at most 65536 serialized UTF-8 bytes, 4096 values and 16 nested levels; executable and non-finite values are rejected.",
1345
+ "maxProperties": 4096,
1346
+ "type": "object"
1347
+ },
1348
+ "reference": {
1349
+ "additionalProperties": false,
1350
+ "properties": {
1351
+ "contentDigest": {
1352
+ "pattern": "^sha256:[a-f0-9]{64}$",
1353
+ "type": "string"
1354
+ },
1355
+ "graphDefinitionId": {
1356
+ "maxLength": 256,
1357
+ "minLength": 1,
1358
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
1359
+ "type": "string"
1360
+ },
1361
+ "graphVersion": {
1362
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
1363
+ "type": "string"
1364
+ }
1365
+ },
1366
+ "required": ["graphDefinitionId", "graphVersion", "contentDigest"],
1367
+ "type": "object"
1368
+ }
1369
+ },
1370
+ "required": ["reference", "input"],
1371
+ "type": "object"
1372
+ },
1305
1373
  "outputContractRef": {
1306
1374
  "maxLength": 512,
1307
1375
  "minLength": 1,
@@ -2521,6 +2589,2154 @@
2521
2589
  "security": [{ "serviceBearer": [] }]
2522
2590
  }
2523
2591
  },
2592
+ "/v1/graphs/deprecate": {
2593
+ "post": {
2594
+ "operationId": "graph.deprecate",
2595
+ "requestBody": {
2596
+ "content": {
2597
+ "application/json": {
2598
+ "schema": {
2599
+ "additionalProperties": false,
2600
+ "properties": {
2601
+ "caller": {
2602
+ "properties": {
2603
+ "servicePrincipalId": {
2604
+ "maxLength": 64,
2605
+ "minLength": 5,
2606
+ "pattern": "^svc_[a-z][a-z0-9-]*$",
2607
+ "type": "string"
2608
+ }
2609
+ },
2610
+ "required": ["servicePrincipalId"],
2611
+ "type": "object"
2612
+ },
2613
+ "commandId": { "pattern": "^cmd_[0-9A-HJKMNP-TV-Z]{26}$", "type": "string" },
2614
+ "contractVersion": {
2615
+ "additionalProperties": false,
2616
+ "properties": {
2617
+ "major": {
2618
+ "exclusiveMinimum": 0,
2619
+ "maximum": 9007199254740991,
2620
+ "type": "integer"
2621
+ },
2622
+ "minor": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }
2623
+ },
2624
+ "required": ["major", "minor"],
2625
+ "type": "object"
2626
+ },
2627
+ "correlation": {
2628
+ "properties": {
2629
+ "causationCommandId": {
2630
+ "pattern": "^cmd_[0-9A-HJKMNP-TV-Z]{26}$",
2631
+ "type": "string"
2632
+ },
2633
+ "parentEventId": {
2634
+ "pattern": "^evt_[0-9A-HJKMNP-TV-Z]{26}$",
2635
+ "type": "string"
2636
+ },
2637
+ "traceId": { "pattern": "^trc_[0-9A-HJKMNP-TV-Z]{26}$", "type": "string" }
2638
+ },
2639
+ "required": ["traceId"],
2640
+ "type": "object"
2641
+ },
2642
+ "idempotencyKey": {
2643
+ "maxLength": 128,
2644
+ "minLength": 16,
2645
+ "pattern": "^[A-Za-z0-9._:-]+$",
2646
+ "type": "string"
2647
+ },
2648
+ "issuedAt": {
2649
+ "format": "date-time",
2650
+ "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))$",
2651
+ "type": "string"
2652
+ },
2653
+ "operation": { "const": "graph.deprecate", "type": "string" },
2654
+ "payload": {
2655
+ "additionalProperties": false,
2656
+ "properties": {
2657
+ "expectedRevision": {
2658
+ "exclusiveMinimum": 0,
2659
+ "maximum": 9007199254740991,
2660
+ "type": "integer"
2661
+ },
2662
+ "reason": { "maxLength": 1024, "minLength": 1, "type": "string" },
2663
+ "reference": {
2664
+ "additionalProperties": false,
2665
+ "properties": {
2666
+ "contentDigest": { "pattern": "^sha256:[a-f0-9]{64}$", "type": "string" },
2667
+ "graphDefinitionId": {
2668
+ "maxLength": 256,
2669
+ "minLength": 1,
2670
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2671
+ "type": "string"
2672
+ },
2673
+ "graphVersion": {
2674
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
2675
+ "type": "string"
2676
+ }
2677
+ },
2678
+ "required": ["graphDefinitionId", "graphVersion", "contentDigest"],
2679
+ "type": "object"
2680
+ }
2681
+ },
2682
+ "required": ["reference", "expectedRevision", "reason"],
2683
+ "type": "object"
2684
+ },
2685
+ "payloadHash": { "pattern": "^[a-f0-9]{64}$", "type": "string" },
2686
+ "requestId": { "pattern": "^req_[0-9A-HJKMNP-TV-Z]{26}$", "type": "string" },
2687
+ "workspaceId": { "pattern": "^wsp_[0-9A-HJKMNP-TV-Z]{26}$", "type": "string" }
2688
+ },
2689
+ "required": [
2690
+ "caller",
2691
+ "contractVersion",
2692
+ "requestId",
2693
+ "workspaceId",
2694
+ "correlation",
2695
+ "commandId",
2696
+ "idempotencyKey",
2697
+ "payloadHash",
2698
+ "operation",
2699
+ "issuedAt",
2700
+ "payload"
2701
+ ],
2702
+ "type": "object"
2703
+ }
2704
+ }
2705
+ },
2706
+ "required": true
2707
+ },
2708
+ "responses": {
2709
+ "200": {
2710
+ "content": {
2711
+ "application/json": {
2712
+ "schema": {
2713
+ "additionalProperties": false,
2714
+ "properties": {
2715
+ "contractVersion": {
2716
+ "additionalProperties": false,
2717
+ "properties": {
2718
+ "major": {
2719
+ "exclusiveMinimum": 0,
2720
+ "maximum": 9007199254740991,
2721
+ "type": "integer"
2722
+ },
2723
+ "minor": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }
2724
+ },
2725
+ "required": ["major", "minor"],
2726
+ "type": "object"
2727
+ },
2728
+ "correlation": {
2729
+ "additionalProperties": false,
2730
+ "properties": {
2731
+ "causationCommandId": {},
2732
+ "parentEventId": {},
2733
+ "traceId": {}
2734
+ },
2735
+ "required": ["traceId"],
2736
+ "type": "object"
2737
+ },
2738
+ "data": {
2739
+ "additionalProperties": false,
2740
+ "properties": {
2741
+ "definition": {
2742
+ "additionalProperties": false,
2743
+ "properties": {
2744
+ "changedAt": {
2745
+ "format": "date-time",
2746
+ "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))$",
2747
+ "type": "string"
2748
+ },
2749
+ "content": {
2750
+ "additionalProperties": false,
2751
+ "properties": {
2752
+ "compatibility": {
2753
+ "additionalProperties": false,
2754
+ "properties": {
2755
+ "adapterVersions": {
2756
+ "items": {
2757
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
2758
+ "type": "string"
2759
+ },
2760
+ "minItems": 1,
2761
+ "type": "array"
2762
+ },
2763
+ "compilerVersions": {
2764
+ "items": {
2765
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
2766
+ "type": "string"
2767
+ },
2768
+ "minItems": 1,
2769
+ "type": "array"
2770
+ },
2771
+ "contractMajorVersions": {
2772
+ "items": {
2773
+ "exclusiveMinimum": 0,
2774
+ "maximum": 9007199254740991,
2775
+ "type": "integer"
2776
+ },
2777
+ "minItems": 1,
2778
+ "type": "array"
2779
+ }
2780
+ },
2781
+ "required": [
2782
+ "contractMajorVersions",
2783
+ "compilerVersions",
2784
+ "adapterVersions"
2785
+ ],
2786
+ "type": "object"
2787
+ },
2788
+ "edges": {
2789
+ "items": {
2790
+ "additionalProperties": false,
2791
+ "properties": {
2792
+ "from": {
2793
+ "anyOf": [
2794
+ {
2795
+ "maxLength": 128,
2796
+ "minLength": 1,
2797
+ "pattern": "^[a-z][a-z0-9._-]*$",
2798
+ "type": "string"
2799
+ },
2800
+ { "const": "__start__", "type": "string" }
2801
+ ]
2802
+ },
2803
+ "to": {
2804
+ "anyOf": [
2805
+ {
2806
+ "maxLength": 128,
2807
+ "minLength": 1,
2808
+ "pattern": "^[a-z][a-z0-9._-]*$",
2809
+ "type": "string"
2810
+ },
2811
+ { "const": "__end__", "type": "string" }
2812
+ ]
2813
+ },
2814
+ "when": {
2815
+ "additionalProperties": false,
2816
+ "properties": {
2817
+ "equals": {
2818
+ "anyOf": [
2819
+ { "maxLength": 4096, "type": "string" },
2820
+ { "type": "number" },
2821
+ { "type": "boolean" },
2822
+ { "type": "null" }
2823
+ ]
2824
+ },
2825
+ "path": {
2826
+ "items": {
2827
+ "maxLength": 256,
2828
+ "minLength": 1,
2829
+ "type": "string"
2830
+ },
2831
+ "maxItems": 16,
2832
+ "minItems": 1,
2833
+ "type": "array"
2834
+ }
2835
+ },
2836
+ "required": ["path", "equals"],
2837
+ "type": "object"
2838
+ }
2839
+ },
2840
+ "required": ["from", "to"],
2841
+ "type": "object"
2842
+ },
2843
+ "maxItems": 1024,
2844
+ "minItems": 1,
2845
+ "type": "array"
2846
+ },
2847
+ "graphDefinitionId": {
2848
+ "maxLength": 256,
2849
+ "minLength": 1,
2850
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2851
+ "type": "string"
2852
+ },
2853
+ "graphVersion": {
2854
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
2855
+ "type": "string"
2856
+ },
2857
+ "nodes": {
2858
+ "items": {
2859
+ "additionalProperties": false,
2860
+ "properties": {
2861
+ "join": { "enum": ["all", "any"], "type": "string" },
2862
+ "node": {
2863
+ "maxLength": 128,
2864
+ "minLength": 1,
2865
+ "pattern": "^[a-z][a-z0-9._-]*$",
2866
+ "type": "string"
2867
+ },
2868
+ "operation": {
2869
+ "additionalProperties": false,
2870
+ "properties": {
2871
+ "kind": {
2872
+ "enum": ["runtime", "model", "tool", "delegation"],
2873
+ "type": "string"
2874
+ },
2875
+ "name": {
2876
+ "maxLength": 256,
2877
+ "minLength": 1,
2878
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2879
+ "type": "string"
2880
+ }
2881
+ },
2882
+ "required": ["kind", "name"],
2883
+ "type": "object"
2884
+ }
2885
+ },
2886
+ "required": ["node", "operation"],
2887
+ "type": "object"
2888
+ },
2889
+ "maxItems": 256,
2890
+ "minItems": 1,
2891
+ "type": "array"
2892
+ },
2893
+ "requiredCapabilities": {
2894
+ "items": {
2895
+ "maxLength": 128,
2896
+ "minLength": 1,
2897
+ "pattern": "^[a-z][a-z0-9.-]*$",
2898
+ "type": "string"
2899
+ },
2900
+ "maxItems": 128,
2901
+ "type": "array"
2902
+ },
2903
+ "schemaVersion": { "const": 1, "type": "number" },
2904
+ "schemas": {
2905
+ "additionalProperties": false,
2906
+ "properties": {
2907
+ "input": {
2908
+ "maxLength": 256,
2909
+ "minLength": 1,
2910
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2911
+ "type": "string"
2912
+ },
2913
+ "output": {
2914
+ "maxLength": 256,
2915
+ "minLength": 1,
2916
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2917
+ "type": "string"
2918
+ },
2919
+ "state": {
2920
+ "maxLength": 256,
2921
+ "minLength": 1,
2922
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2923
+ "type": "string"
2924
+ }
2925
+ },
2926
+ "required": ["input", "state", "output"],
2927
+ "type": "object"
2928
+ }
2929
+ },
2930
+ "required": [
2931
+ "graphDefinitionId",
2932
+ "graphVersion",
2933
+ "schemaVersion",
2934
+ "nodes",
2935
+ "edges",
2936
+ "schemas",
2937
+ "requiredCapabilities",
2938
+ "compatibility"
2939
+ ],
2940
+ "type": "object"
2941
+ },
2942
+ "lifecycle": {
2943
+ "enum": ["published", "deprecated", "revoked"],
2944
+ "type": "string"
2945
+ },
2946
+ "publishedAt": {
2947
+ "format": "date-time",
2948
+ "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))$",
2949
+ "type": "string"
2950
+ },
2951
+ "reason": { "maxLength": 1024, "minLength": 1, "type": "string" },
2952
+ "reference": {
2953
+ "additionalProperties": false,
2954
+ "properties": {
2955
+ "contentDigest": {
2956
+ "pattern": "^sha256:[a-f0-9]{64}$",
2957
+ "type": "string"
2958
+ },
2959
+ "graphDefinitionId": {
2960
+ "maxLength": 256,
2961
+ "minLength": 1,
2962
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2963
+ "type": "string"
2964
+ },
2965
+ "graphVersion": {
2966
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
2967
+ "type": "string"
2968
+ }
2969
+ },
2970
+ "required": ["graphDefinitionId", "graphVersion", "contentDigest"],
2971
+ "type": "object"
2972
+ },
2973
+ "revision": {
2974
+ "exclusiveMinimum": 0,
2975
+ "maximum": 9007199254740991,
2976
+ "type": "integer"
2977
+ }
2978
+ },
2979
+ "required": [
2980
+ "reference",
2981
+ "revision",
2982
+ "lifecycle",
2983
+ "content",
2984
+ "publishedAt",
2985
+ "changedAt"
2986
+ ],
2987
+ "type": "object"
2988
+ }
2989
+ },
2990
+ "required": ["definition"],
2991
+ "type": "object"
2992
+ },
2993
+ "requestId": {}
2994
+ },
2995
+ "required": ["contractVersion", "requestId", "correlation", "data"],
2996
+ "type": "object"
2997
+ }
2998
+ }
2999
+ },
3000
+ "description": "Successful response"
3001
+ },
3002
+ "default": {
3003
+ "content": {
3004
+ "application/json": {
3005
+ "schema": {
3006
+ "additionalProperties": false,
3007
+ "properties": {
3008
+ "contractVersion": {
3009
+ "additionalProperties": false,
3010
+ "properties": {
3011
+ "major": {
3012
+ "exclusiveMinimum": 0,
3013
+ "maximum": 9007199254740991,
3014
+ "type": "integer"
3015
+ },
3016
+ "minor": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }
3017
+ },
3018
+ "required": ["major", "minor"],
3019
+ "type": "object"
3020
+ },
3021
+ "correlation": {
3022
+ "additionalProperties": false,
3023
+ "properties": {
3024
+ "causationCommandId": {},
3025
+ "parentEventId": {},
3026
+ "traceId": {}
3027
+ },
3028
+ "required": ["traceId"],
3029
+ "type": "object"
3030
+ },
3031
+ "error": {
3032
+ "additionalProperties": false,
3033
+ "properties": {
3034
+ "class": {
3035
+ "enum": [
3036
+ "validation",
3037
+ "authentication",
3038
+ "authorization",
3039
+ "conflict",
3040
+ "stale_reference",
3041
+ "capability_mismatch",
3042
+ "runtime_unavailable",
3043
+ "internal"
3044
+ ],
3045
+ "type": "string"
3046
+ },
3047
+ "code": {
3048
+ "maxLength": 96,
3049
+ "minLength": 1,
3050
+ "pattern": "^[A-Z][A-Z0-9_]*$",
3051
+ "type": "string"
3052
+ },
3053
+ "details": {
3054
+ "additionalProperties": {},
3055
+ "propertyNames": { "maxLength": 64, "type": "string" },
3056
+ "type": "object"
3057
+ },
3058
+ "message": { "maxLength": 512, "minLength": 1, "type": "string" },
3059
+ "remediation": { "maxLength": 256, "minLength": 1, "type": "string" },
3060
+ "retryable": { "type": "boolean" },
3061
+ "source": {
3062
+ "enum": [
3063
+ "client",
3064
+ "auth",
3065
+ "policy",
3066
+ "runtime",
3067
+ "provider",
3068
+ "persistence",
3069
+ "workflow",
3070
+ "system"
3071
+ ],
3072
+ "type": "string"
3073
+ }
3074
+ },
3075
+ "required": ["class", "code", "message", "retryable", "source"],
3076
+ "type": "object"
3077
+ },
3078
+ "requestId": {}
3079
+ },
3080
+ "required": ["contractVersion", "requestId", "correlation", "error"],
3081
+ "type": "object"
3082
+ }
3083
+ }
3084
+ },
3085
+ "description": "Normalized error response"
3086
+ }
3087
+ },
3088
+ "security": [{ "serviceBearer": [] }]
3089
+ }
3090
+ },
3091
+ "/v1/graphs/publish": {
3092
+ "post": {
3093
+ "operationId": "graph.publish",
3094
+ "requestBody": {
3095
+ "content": {
3096
+ "application/json": {
3097
+ "schema": {
3098
+ "additionalProperties": false,
3099
+ "properties": {
3100
+ "caller": {
3101
+ "properties": {
3102
+ "servicePrincipalId": {
3103
+ "maxLength": 64,
3104
+ "minLength": 5,
3105
+ "pattern": "^svc_[a-z][a-z0-9-]*$",
3106
+ "type": "string"
3107
+ }
3108
+ },
3109
+ "required": ["servicePrincipalId"],
3110
+ "type": "object"
3111
+ },
3112
+ "commandId": { "pattern": "^cmd_[0-9A-HJKMNP-TV-Z]{26}$", "type": "string" },
3113
+ "contractVersion": {
3114
+ "additionalProperties": false,
3115
+ "properties": {
3116
+ "major": {
3117
+ "exclusiveMinimum": 0,
3118
+ "maximum": 9007199254740991,
3119
+ "type": "integer"
3120
+ },
3121
+ "minor": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }
3122
+ },
3123
+ "required": ["major", "minor"],
3124
+ "type": "object"
3125
+ },
3126
+ "correlation": {
3127
+ "properties": {
3128
+ "causationCommandId": {
3129
+ "pattern": "^cmd_[0-9A-HJKMNP-TV-Z]{26}$",
3130
+ "type": "string"
3131
+ },
3132
+ "parentEventId": {
3133
+ "pattern": "^evt_[0-9A-HJKMNP-TV-Z]{26}$",
3134
+ "type": "string"
3135
+ },
3136
+ "traceId": { "pattern": "^trc_[0-9A-HJKMNP-TV-Z]{26}$", "type": "string" }
3137
+ },
3138
+ "required": ["traceId"],
3139
+ "type": "object"
3140
+ },
3141
+ "idempotencyKey": {
3142
+ "maxLength": 128,
3143
+ "minLength": 16,
3144
+ "pattern": "^[A-Za-z0-9._:-]+$",
3145
+ "type": "string"
3146
+ },
3147
+ "issuedAt": {
3148
+ "format": "date-time",
3149
+ "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))$",
3150
+ "type": "string"
3151
+ },
3152
+ "operation": { "const": "graph.publish", "type": "string" },
3153
+ "payload": {
3154
+ "additionalProperties": false,
3155
+ "properties": {
3156
+ "definition": {
3157
+ "additionalProperties": false,
3158
+ "properties": {
3159
+ "compatibility": {
3160
+ "additionalProperties": false,
3161
+ "properties": {
3162
+ "adapterVersions": {
3163
+ "items": {
3164
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
3165
+ "type": "string"
3166
+ },
3167
+ "minItems": 1,
3168
+ "type": "array"
3169
+ },
3170
+ "compilerVersions": {
3171
+ "items": {
3172
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
3173
+ "type": "string"
3174
+ },
3175
+ "minItems": 1,
3176
+ "type": "array"
3177
+ },
3178
+ "contractMajorVersions": {
3179
+ "items": {
3180
+ "exclusiveMinimum": 0,
3181
+ "maximum": 9007199254740991,
3182
+ "type": "integer"
3183
+ },
3184
+ "minItems": 1,
3185
+ "type": "array"
3186
+ }
3187
+ },
3188
+ "required": [
3189
+ "contractMajorVersions",
3190
+ "compilerVersions",
3191
+ "adapterVersions"
3192
+ ],
3193
+ "type": "object"
3194
+ },
3195
+ "edges": {
3196
+ "items": {
3197
+ "additionalProperties": false,
3198
+ "properties": {
3199
+ "from": {
3200
+ "anyOf": [
3201
+ {
3202
+ "maxLength": 128,
3203
+ "minLength": 1,
3204
+ "pattern": "^[a-z][a-z0-9._-]*$",
3205
+ "type": "string"
3206
+ },
3207
+ { "const": "__start__", "type": "string" }
3208
+ ]
3209
+ },
3210
+ "to": {
3211
+ "anyOf": [
3212
+ {
3213
+ "maxLength": 128,
3214
+ "minLength": 1,
3215
+ "pattern": "^[a-z][a-z0-9._-]*$",
3216
+ "type": "string"
3217
+ },
3218
+ { "const": "__end__", "type": "string" }
3219
+ ]
3220
+ },
3221
+ "when": {
3222
+ "additionalProperties": false,
3223
+ "properties": {
3224
+ "equals": {
3225
+ "anyOf": [
3226
+ { "maxLength": 4096, "type": "string" },
3227
+ { "type": "number" },
3228
+ { "type": "boolean" },
3229
+ { "type": "null" }
3230
+ ]
3231
+ },
3232
+ "path": {
3233
+ "items": {
3234
+ "maxLength": 256,
3235
+ "minLength": 1,
3236
+ "type": "string"
3237
+ },
3238
+ "maxItems": 16,
3239
+ "minItems": 1,
3240
+ "type": "array"
3241
+ }
3242
+ },
3243
+ "required": ["path", "equals"],
3244
+ "type": "object"
3245
+ }
3246
+ },
3247
+ "required": ["from", "to"],
3248
+ "type": "object"
3249
+ },
3250
+ "maxItems": 1024,
3251
+ "minItems": 1,
3252
+ "type": "array"
3253
+ },
3254
+ "graphDefinitionId": {
3255
+ "maxLength": 256,
3256
+ "minLength": 1,
3257
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3258
+ "type": "string"
3259
+ },
3260
+ "graphVersion": {
3261
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
3262
+ "type": "string"
3263
+ },
3264
+ "nodes": {
3265
+ "items": {
3266
+ "additionalProperties": false,
3267
+ "properties": {
3268
+ "join": { "enum": ["all", "any"], "type": "string" },
3269
+ "node": {
3270
+ "maxLength": 128,
3271
+ "minLength": 1,
3272
+ "pattern": "^[a-z][a-z0-9._-]*$",
3273
+ "type": "string"
3274
+ },
3275
+ "operation": {
3276
+ "additionalProperties": false,
3277
+ "properties": {
3278
+ "kind": {
3279
+ "enum": ["runtime", "model", "tool", "delegation"],
3280
+ "type": "string"
3281
+ },
3282
+ "name": {
3283
+ "maxLength": 256,
3284
+ "minLength": 1,
3285
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3286
+ "type": "string"
3287
+ }
3288
+ },
3289
+ "required": ["kind", "name"],
3290
+ "type": "object"
3291
+ }
3292
+ },
3293
+ "required": ["node", "operation"],
3294
+ "type": "object"
3295
+ },
3296
+ "maxItems": 256,
3297
+ "minItems": 1,
3298
+ "type": "array"
3299
+ },
3300
+ "requiredCapabilities": {
3301
+ "items": {
3302
+ "maxLength": 128,
3303
+ "minLength": 1,
3304
+ "pattern": "^[a-z][a-z0-9.-]*$",
3305
+ "type": "string"
3306
+ },
3307
+ "maxItems": 128,
3308
+ "type": "array"
3309
+ },
3310
+ "schemaVersion": { "const": 1, "type": "number" },
3311
+ "schemas": {
3312
+ "additionalProperties": false,
3313
+ "properties": {
3314
+ "input": {
3315
+ "maxLength": 256,
3316
+ "minLength": 1,
3317
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3318
+ "type": "string"
3319
+ },
3320
+ "output": {
3321
+ "maxLength": 256,
3322
+ "minLength": 1,
3323
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3324
+ "type": "string"
3325
+ },
3326
+ "state": {
3327
+ "maxLength": 256,
3328
+ "minLength": 1,
3329
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3330
+ "type": "string"
3331
+ }
3332
+ },
3333
+ "required": ["input", "state", "output"],
3334
+ "type": "object"
3335
+ }
3336
+ },
3337
+ "required": [
3338
+ "graphDefinitionId",
3339
+ "graphVersion",
3340
+ "schemaVersion",
3341
+ "nodes",
3342
+ "edges",
3343
+ "schemas",
3344
+ "requiredCapabilities",
3345
+ "compatibility"
3346
+ ],
3347
+ "type": "object"
3348
+ }
3349
+ },
3350
+ "required": ["definition"],
3351
+ "type": "object"
3352
+ },
3353
+ "payloadHash": { "pattern": "^[a-f0-9]{64}$", "type": "string" },
3354
+ "requestId": { "pattern": "^req_[0-9A-HJKMNP-TV-Z]{26}$", "type": "string" },
3355
+ "workspaceId": { "pattern": "^wsp_[0-9A-HJKMNP-TV-Z]{26}$", "type": "string" }
3356
+ },
3357
+ "required": [
3358
+ "caller",
3359
+ "contractVersion",
3360
+ "requestId",
3361
+ "workspaceId",
3362
+ "correlation",
3363
+ "commandId",
3364
+ "idempotencyKey",
3365
+ "payloadHash",
3366
+ "operation",
3367
+ "issuedAt",
3368
+ "payload"
3369
+ ],
3370
+ "type": "object"
3371
+ }
3372
+ }
3373
+ },
3374
+ "required": true
3375
+ },
3376
+ "responses": {
3377
+ "200": {
3378
+ "content": {
3379
+ "application/json": {
3380
+ "schema": {
3381
+ "additionalProperties": false,
3382
+ "properties": {
3383
+ "contractVersion": {
3384
+ "additionalProperties": false,
3385
+ "properties": {
3386
+ "major": {
3387
+ "exclusiveMinimum": 0,
3388
+ "maximum": 9007199254740991,
3389
+ "type": "integer"
3390
+ },
3391
+ "minor": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }
3392
+ },
3393
+ "required": ["major", "minor"],
3394
+ "type": "object"
3395
+ },
3396
+ "correlation": {
3397
+ "additionalProperties": false,
3398
+ "properties": {
3399
+ "causationCommandId": {},
3400
+ "parentEventId": {},
3401
+ "traceId": {}
3402
+ },
3403
+ "required": ["traceId"],
3404
+ "type": "object"
3405
+ },
3406
+ "data": {
3407
+ "additionalProperties": false,
3408
+ "properties": {
3409
+ "definition": {
3410
+ "additionalProperties": false,
3411
+ "properties": {
3412
+ "changedAt": {
3413
+ "format": "date-time",
3414
+ "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))$",
3415
+ "type": "string"
3416
+ },
3417
+ "content": {
3418
+ "additionalProperties": false,
3419
+ "properties": {
3420
+ "compatibility": {
3421
+ "additionalProperties": false,
3422
+ "properties": {
3423
+ "adapterVersions": {
3424
+ "items": {
3425
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
3426
+ "type": "string"
3427
+ },
3428
+ "minItems": 1,
3429
+ "type": "array"
3430
+ },
3431
+ "compilerVersions": {
3432
+ "items": {
3433
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
3434
+ "type": "string"
3435
+ },
3436
+ "minItems": 1,
3437
+ "type": "array"
3438
+ },
3439
+ "contractMajorVersions": {
3440
+ "items": {
3441
+ "exclusiveMinimum": 0,
3442
+ "maximum": 9007199254740991,
3443
+ "type": "integer"
3444
+ },
3445
+ "minItems": 1,
3446
+ "type": "array"
3447
+ }
3448
+ },
3449
+ "required": [
3450
+ "contractMajorVersions",
3451
+ "compilerVersions",
3452
+ "adapterVersions"
3453
+ ],
3454
+ "type": "object"
3455
+ },
3456
+ "edges": {
3457
+ "items": {
3458
+ "additionalProperties": false,
3459
+ "properties": {
3460
+ "from": {
3461
+ "anyOf": [
3462
+ {
3463
+ "maxLength": 128,
3464
+ "minLength": 1,
3465
+ "pattern": "^[a-z][a-z0-9._-]*$",
3466
+ "type": "string"
3467
+ },
3468
+ { "const": "__start__", "type": "string" }
3469
+ ]
3470
+ },
3471
+ "to": {
3472
+ "anyOf": [
3473
+ {
3474
+ "maxLength": 128,
3475
+ "minLength": 1,
3476
+ "pattern": "^[a-z][a-z0-9._-]*$",
3477
+ "type": "string"
3478
+ },
3479
+ { "const": "__end__", "type": "string" }
3480
+ ]
3481
+ },
3482
+ "when": {
3483
+ "additionalProperties": false,
3484
+ "properties": {
3485
+ "equals": {
3486
+ "anyOf": [
3487
+ { "maxLength": 4096, "type": "string" },
3488
+ { "type": "number" },
3489
+ { "type": "boolean" },
3490
+ { "type": "null" }
3491
+ ]
3492
+ },
3493
+ "path": {
3494
+ "items": {
3495
+ "maxLength": 256,
3496
+ "minLength": 1,
3497
+ "type": "string"
3498
+ },
3499
+ "maxItems": 16,
3500
+ "minItems": 1,
3501
+ "type": "array"
3502
+ }
3503
+ },
3504
+ "required": ["path", "equals"],
3505
+ "type": "object"
3506
+ }
3507
+ },
3508
+ "required": ["from", "to"],
3509
+ "type": "object"
3510
+ },
3511
+ "maxItems": 1024,
3512
+ "minItems": 1,
3513
+ "type": "array"
3514
+ },
3515
+ "graphDefinitionId": {
3516
+ "maxLength": 256,
3517
+ "minLength": 1,
3518
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3519
+ "type": "string"
3520
+ },
3521
+ "graphVersion": {
3522
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
3523
+ "type": "string"
3524
+ },
3525
+ "nodes": {
3526
+ "items": {
3527
+ "additionalProperties": false,
3528
+ "properties": {
3529
+ "join": { "enum": ["all", "any"], "type": "string" },
3530
+ "node": {
3531
+ "maxLength": 128,
3532
+ "minLength": 1,
3533
+ "pattern": "^[a-z][a-z0-9._-]*$",
3534
+ "type": "string"
3535
+ },
3536
+ "operation": {
3537
+ "additionalProperties": false,
3538
+ "properties": {
3539
+ "kind": {
3540
+ "enum": ["runtime", "model", "tool", "delegation"],
3541
+ "type": "string"
3542
+ },
3543
+ "name": {
3544
+ "maxLength": 256,
3545
+ "minLength": 1,
3546
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3547
+ "type": "string"
3548
+ }
3549
+ },
3550
+ "required": ["kind", "name"],
3551
+ "type": "object"
3552
+ }
3553
+ },
3554
+ "required": ["node", "operation"],
3555
+ "type": "object"
3556
+ },
3557
+ "maxItems": 256,
3558
+ "minItems": 1,
3559
+ "type": "array"
3560
+ },
3561
+ "requiredCapabilities": {
3562
+ "items": {
3563
+ "maxLength": 128,
3564
+ "minLength": 1,
3565
+ "pattern": "^[a-z][a-z0-9.-]*$",
3566
+ "type": "string"
3567
+ },
3568
+ "maxItems": 128,
3569
+ "type": "array"
3570
+ },
3571
+ "schemaVersion": { "const": 1, "type": "number" },
3572
+ "schemas": {
3573
+ "additionalProperties": false,
3574
+ "properties": {
3575
+ "input": {
3576
+ "maxLength": 256,
3577
+ "minLength": 1,
3578
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3579
+ "type": "string"
3580
+ },
3581
+ "output": {
3582
+ "maxLength": 256,
3583
+ "minLength": 1,
3584
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3585
+ "type": "string"
3586
+ },
3587
+ "state": {
3588
+ "maxLength": 256,
3589
+ "minLength": 1,
3590
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3591
+ "type": "string"
3592
+ }
3593
+ },
3594
+ "required": ["input", "state", "output"],
3595
+ "type": "object"
3596
+ }
3597
+ },
3598
+ "required": [
3599
+ "graphDefinitionId",
3600
+ "graphVersion",
3601
+ "schemaVersion",
3602
+ "nodes",
3603
+ "edges",
3604
+ "schemas",
3605
+ "requiredCapabilities",
3606
+ "compatibility"
3607
+ ],
3608
+ "type": "object"
3609
+ },
3610
+ "lifecycle": {
3611
+ "enum": ["published", "deprecated", "revoked"],
3612
+ "type": "string"
3613
+ },
3614
+ "publishedAt": {
3615
+ "format": "date-time",
3616
+ "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))$",
3617
+ "type": "string"
3618
+ },
3619
+ "reason": { "maxLength": 1024, "minLength": 1, "type": "string" },
3620
+ "reference": {
3621
+ "additionalProperties": false,
3622
+ "properties": {
3623
+ "contentDigest": {
3624
+ "pattern": "^sha256:[a-f0-9]{64}$",
3625
+ "type": "string"
3626
+ },
3627
+ "graphDefinitionId": {
3628
+ "maxLength": 256,
3629
+ "minLength": 1,
3630
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3631
+ "type": "string"
3632
+ },
3633
+ "graphVersion": {
3634
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
3635
+ "type": "string"
3636
+ }
3637
+ },
3638
+ "required": ["graphDefinitionId", "graphVersion", "contentDigest"],
3639
+ "type": "object"
3640
+ },
3641
+ "revision": {
3642
+ "exclusiveMinimum": 0,
3643
+ "maximum": 9007199254740991,
3644
+ "type": "integer"
3645
+ }
3646
+ },
3647
+ "required": [
3648
+ "reference",
3649
+ "revision",
3650
+ "lifecycle",
3651
+ "content",
3652
+ "publishedAt",
3653
+ "changedAt"
3654
+ ],
3655
+ "type": "object"
3656
+ }
3657
+ },
3658
+ "required": ["definition"],
3659
+ "type": "object"
3660
+ },
3661
+ "requestId": {}
3662
+ },
3663
+ "required": ["contractVersion", "requestId", "correlation", "data"],
3664
+ "type": "object"
3665
+ }
3666
+ }
3667
+ },
3668
+ "description": "Successful response"
3669
+ },
3670
+ "default": {
3671
+ "content": {
3672
+ "application/json": {
3673
+ "schema": {
3674
+ "additionalProperties": false,
3675
+ "properties": {
3676
+ "contractVersion": {
3677
+ "additionalProperties": false,
3678
+ "properties": {
3679
+ "major": {
3680
+ "exclusiveMinimum": 0,
3681
+ "maximum": 9007199254740991,
3682
+ "type": "integer"
3683
+ },
3684
+ "minor": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }
3685
+ },
3686
+ "required": ["major", "minor"],
3687
+ "type": "object"
3688
+ },
3689
+ "correlation": {
3690
+ "additionalProperties": false,
3691
+ "properties": {
3692
+ "causationCommandId": {},
3693
+ "parentEventId": {},
3694
+ "traceId": {}
3695
+ },
3696
+ "required": ["traceId"],
3697
+ "type": "object"
3698
+ },
3699
+ "error": {
3700
+ "additionalProperties": false,
3701
+ "properties": {
3702
+ "class": {
3703
+ "enum": [
3704
+ "validation",
3705
+ "authentication",
3706
+ "authorization",
3707
+ "conflict",
3708
+ "stale_reference",
3709
+ "capability_mismatch",
3710
+ "runtime_unavailable",
3711
+ "internal"
3712
+ ],
3713
+ "type": "string"
3714
+ },
3715
+ "code": {
3716
+ "maxLength": 96,
3717
+ "minLength": 1,
3718
+ "pattern": "^[A-Z][A-Z0-9_]*$",
3719
+ "type": "string"
3720
+ },
3721
+ "details": {
3722
+ "additionalProperties": {},
3723
+ "propertyNames": { "maxLength": 64, "type": "string" },
3724
+ "type": "object"
3725
+ },
3726
+ "message": { "maxLength": 512, "minLength": 1, "type": "string" },
3727
+ "remediation": { "maxLength": 256, "minLength": 1, "type": "string" },
3728
+ "retryable": { "type": "boolean" },
3729
+ "source": {
3730
+ "enum": [
3731
+ "client",
3732
+ "auth",
3733
+ "policy",
3734
+ "runtime",
3735
+ "provider",
3736
+ "persistence",
3737
+ "workflow",
3738
+ "system"
3739
+ ],
3740
+ "type": "string"
3741
+ }
3742
+ },
3743
+ "required": ["class", "code", "message", "retryable", "source"],
3744
+ "type": "object"
3745
+ },
3746
+ "requestId": {}
3747
+ },
3748
+ "required": ["contractVersion", "requestId", "correlation", "error"],
3749
+ "type": "object"
3750
+ }
3751
+ }
3752
+ },
3753
+ "description": "Normalized error response"
3754
+ }
3755
+ },
3756
+ "security": [{ "serviceBearer": [] }]
3757
+ }
3758
+ },
3759
+ "/v1/graphs/resolve": {
3760
+ "post": {
3761
+ "operationId": "graph.resolve",
3762
+ "requestBody": {
3763
+ "content": {
3764
+ "application/json": {
3765
+ "schema": {
3766
+ "additionalProperties": false,
3767
+ "properties": {
3768
+ "caller": {
3769
+ "properties": {
3770
+ "servicePrincipalId": {
3771
+ "maxLength": 64,
3772
+ "minLength": 5,
3773
+ "pattern": "^svc_[a-z][a-z0-9-]*$",
3774
+ "type": "string"
3775
+ }
3776
+ },
3777
+ "required": ["servicePrincipalId"],
3778
+ "type": "object"
3779
+ },
3780
+ "contractVersion": {
3781
+ "additionalProperties": false,
3782
+ "properties": {
3783
+ "major": {
3784
+ "exclusiveMinimum": 0,
3785
+ "maximum": 9007199254740991,
3786
+ "type": "integer"
3787
+ },
3788
+ "minor": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }
3789
+ },
3790
+ "required": ["major", "minor"],
3791
+ "type": "object"
3792
+ },
3793
+ "correlation": {
3794
+ "properties": {
3795
+ "causationCommandId": {
3796
+ "pattern": "^cmd_[0-9A-HJKMNP-TV-Z]{26}$",
3797
+ "type": "string"
3798
+ },
3799
+ "parentEventId": {
3800
+ "pattern": "^evt_[0-9A-HJKMNP-TV-Z]{26}$",
3801
+ "type": "string"
3802
+ },
3803
+ "traceId": { "pattern": "^trc_[0-9A-HJKMNP-TV-Z]{26}$", "type": "string" }
3804
+ },
3805
+ "required": ["traceId"],
3806
+ "type": "object"
3807
+ },
3808
+ "operation": { "const": "graph.resolve", "type": "string" },
3809
+ "parameters": {
3810
+ "additionalProperties": false,
3811
+ "properties": {
3812
+ "reference": {
3813
+ "additionalProperties": false,
3814
+ "properties": {
3815
+ "contentDigest": { "pattern": "^sha256:[a-f0-9]{64}$", "type": "string" },
3816
+ "graphDefinitionId": {
3817
+ "maxLength": 256,
3818
+ "minLength": 1,
3819
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3820
+ "type": "string"
3821
+ },
3822
+ "graphVersion": {
3823
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
3824
+ "type": "string"
3825
+ }
3826
+ },
3827
+ "required": ["graphDefinitionId", "graphVersion", "contentDigest"],
3828
+ "type": "object"
3829
+ }
3830
+ },
3831
+ "required": ["reference"],
3832
+ "type": "object"
3833
+ },
3834
+ "requestId": { "pattern": "^req_[0-9A-HJKMNP-TV-Z]{26}$", "type": "string" },
3835
+ "requestedAt": {
3836
+ "format": "date-time",
3837
+ "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))$",
3838
+ "type": "string"
3839
+ },
3840
+ "workspaceId": { "pattern": "^wsp_[0-9A-HJKMNP-TV-Z]{26}$", "type": "string" }
3841
+ },
3842
+ "required": [
3843
+ "caller",
3844
+ "contractVersion",
3845
+ "requestId",
3846
+ "workspaceId",
3847
+ "correlation",
3848
+ "operation",
3849
+ "requestedAt",
3850
+ "parameters"
3851
+ ],
3852
+ "type": "object"
3853
+ }
3854
+ }
3855
+ },
3856
+ "required": true
3857
+ },
3858
+ "responses": {
3859
+ "200": {
3860
+ "content": {
3861
+ "application/json": {
3862
+ "schema": {
3863
+ "additionalProperties": false,
3864
+ "properties": {
3865
+ "contractVersion": {
3866
+ "additionalProperties": false,
3867
+ "properties": {
3868
+ "major": {
3869
+ "exclusiveMinimum": 0,
3870
+ "maximum": 9007199254740991,
3871
+ "type": "integer"
3872
+ },
3873
+ "minor": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }
3874
+ },
3875
+ "required": ["major", "minor"],
3876
+ "type": "object"
3877
+ },
3878
+ "correlation": {
3879
+ "additionalProperties": false,
3880
+ "properties": {
3881
+ "causationCommandId": {},
3882
+ "parentEventId": {},
3883
+ "traceId": {}
3884
+ },
3885
+ "required": ["traceId"],
3886
+ "type": "object"
3887
+ },
3888
+ "data": {
3889
+ "additionalProperties": false,
3890
+ "properties": {
3891
+ "definition": {
3892
+ "additionalProperties": false,
3893
+ "properties": {
3894
+ "changedAt": {
3895
+ "format": "date-time",
3896
+ "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))$",
3897
+ "type": "string"
3898
+ },
3899
+ "content": {
3900
+ "additionalProperties": false,
3901
+ "properties": {
3902
+ "compatibility": {
3903
+ "additionalProperties": false,
3904
+ "properties": {
3905
+ "adapterVersions": {
3906
+ "items": {
3907
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
3908
+ "type": "string"
3909
+ },
3910
+ "minItems": 1,
3911
+ "type": "array"
3912
+ },
3913
+ "compilerVersions": {
3914
+ "items": {
3915
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
3916
+ "type": "string"
3917
+ },
3918
+ "minItems": 1,
3919
+ "type": "array"
3920
+ },
3921
+ "contractMajorVersions": {
3922
+ "items": {
3923
+ "exclusiveMinimum": 0,
3924
+ "maximum": 9007199254740991,
3925
+ "type": "integer"
3926
+ },
3927
+ "minItems": 1,
3928
+ "type": "array"
3929
+ }
3930
+ },
3931
+ "required": [
3932
+ "contractMajorVersions",
3933
+ "compilerVersions",
3934
+ "adapterVersions"
3935
+ ],
3936
+ "type": "object"
3937
+ },
3938
+ "edges": {
3939
+ "items": {
3940
+ "additionalProperties": false,
3941
+ "properties": {
3942
+ "from": {
3943
+ "anyOf": [
3944
+ {
3945
+ "maxLength": 128,
3946
+ "minLength": 1,
3947
+ "pattern": "^[a-z][a-z0-9._-]*$",
3948
+ "type": "string"
3949
+ },
3950
+ { "const": "__start__", "type": "string" }
3951
+ ]
3952
+ },
3953
+ "to": {
3954
+ "anyOf": [
3955
+ {
3956
+ "maxLength": 128,
3957
+ "minLength": 1,
3958
+ "pattern": "^[a-z][a-z0-9._-]*$",
3959
+ "type": "string"
3960
+ },
3961
+ { "const": "__end__", "type": "string" }
3962
+ ]
3963
+ },
3964
+ "when": {
3965
+ "additionalProperties": false,
3966
+ "properties": {
3967
+ "equals": {
3968
+ "anyOf": [
3969
+ { "maxLength": 4096, "type": "string" },
3970
+ { "type": "number" },
3971
+ { "type": "boolean" },
3972
+ { "type": "null" }
3973
+ ]
3974
+ },
3975
+ "path": {
3976
+ "items": {
3977
+ "maxLength": 256,
3978
+ "minLength": 1,
3979
+ "type": "string"
3980
+ },
3981
+ "maxItems": 16,
3982
+ "minItems": 1,
3983
+ "type": "array"
3984
+ }
3985
+ },
3986
+ "required": ["path", "equals"],
3987
+ "type": "object"
3988
+ }
3989
+ },
3990
+ "required": ["from", "to"],
3991
+ "type": "object"
3992
+ },
3993
+ "maxItems": 1024,
3994
+ "minItems": 1,
3995
+ "type": "array"
3996
+ },
3997
+ "graphDefinitionId": {
3998
+ "maxLength": 256,
3999
+ "minLength": 1,
4000
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4001
+ "type": "string"
4002
+ },
4003
+ "graphVersion": {
4004
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
4005
+ "type": "string"
4006
+ },
4007
+ "nodes": {
4008
+ "items": {
4009
+ "additionalProperties": false,
4010
+ "properties": {
4011
+ "join": { "enum": ["all", "any"], "type": "string" },
4012
+ "node": {
4013
+ "maxLength": 128,
4014
+ "minLength": 1,
4015
+ "pattern": "^[a-z][a-z0-9._-]*$",
4016
+ "type": "string"
4017
+ },
4018
+ "operation": {
4019
+ "additionalProperties": false,
4020
+ "properties": {
4021
+ "kind": {
4022
+ "enum": ["runtime", "model", "tool", "delegation"],
4023
+ "type": "string"
4024
+ },
4025
+ "name": {
4026
+ "maxLength": 256,
4027
+ "minLength": 1,
4028
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4029
+ "type": "string"
4030
+ }
4031
+ },
4032
+ "required": ["kind", "name"],
4033
+ "type": "object"
4034
+ }
4035
+ },
4036
+ "required": ["node", "operation"],
4037
+ "type": "object"
4038
+ },
4039
+ "maxItems": 256,
4040
+ "minItems": 1,
4041
+ "type": "array"
4042
+ },
4043
+ "requiredCapabilities": {
4044
+ "items": {
4045
+ "maxLength": 128,
4046
+ "minLength": 1,
4047
+ "pattern": "^[a-z][a-z0-9.-]*$",
4048
+ "type": "string"
4049
+ },
4050
+ "maxItems": 128,
4051
+ "type": "array"
4052
+ },
4053
+ "schemaVersion": { "const": 1, "type": "number" },
4054
+ "schemas": {
4055
+ "additionalProperties": false,
4056
+ "properties": {
4057
+ "input": {
4058
+ "maxLength": 256,
4059
+ "minLength": 1,
4060
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4061
+ "type": "string"
4062
+ },
4063
+ "output": {
4064
+ "maxLength": 256,
4065
+ "minLength": 1,
4066
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4067
+ "type": "string"
4068
+ },
4069
+ "state": {
4070
+ "maxLength": 256,
4071
+ "minLength": 1,
4072
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4073
+ "type": "string"
4074
+ }
4075
+ },
4076
+ "required": ["input", "state", "output"],
4077
+ "type": "object"
4078
+ }
4079
+ },
4080
+ "required": [
4081
+ "graphDefinitionId",
4082
+ "graphVersion",
4083
+ "schemaVersion",
4084
+ "nodes",
4085
+ "edges",
4086
+ "schemas",
4087
+ "requiredCapabilities",
4088
+ "compatibility"
4089
+ ],
4090
+ "type": "object"
4091
+ },
4092
+ "lifecycle": {
4093
+ "enum": ["published", "deprecated", "revoked"],
4094
+ "type": "string"
4095
+ },
4096
+ "publishedAt": {
4097
+ "format": "date-time",
4098
+ "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))$",
4099
+ "type": "string"
4100
+ },
4101
+ "reason": { "maxLength": 1024, "minLength": 1, "type": "string" },
4102
+ "reference": {
4103
+ "additionalProperties": false,
4104
+ "properties": {
4105
+ "contentDigest": {
4106
+ "pattern": "^sha256:[a-f0-9]{64}$",
4107
+ "type": "string"
4108
+ },
4109
+ "graphDefinitionId": {
4110
+ "maxLength": 256,
4111
+ "minLength": 1,
4112
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4113
+ "type": "string"
4114
+ },
4115
+ "graphVersion": {
4116
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
4117
+ "type": "string"
4118
+ }
4119
+ },
4120
+ "required": ["graphDefinitionId", "graphVersion", "contentDigest"],
4121
+ "type": "object"
4122
+ },
4123
+ "revision": {
4124
+ "exclusiveMinimum": 0,
4125
+ "maximum": 9007199254740991,
4126
+ "type": "integer"
4127
+ }
4128
+ },
4129
+ "required": [
4130
+ "reference",
4131
+ "revision",
4132
+ "lifecycle",
4133
+ "content",
4134
+ "publishedAt",
4135
+ "changedAt"
4136
+ ],
4137
+ "type": "object"
4138
+ }
4139
+ },
4140
+ "required": ["definition"],
4141
+ "type": "object"
4142
+ },
4143
+ "requestId": {}
4144
+ },
4145
+ "required": ["contractVersion", "requestId", "correlation", "data"],
4146
+ "type": "object"
4147
+ }
4148
+ }
4149
+ },
4150
+ "description": "Successful response"
4151
+ },
4152
+ "default": {
4153
+ "content": {
4154
+ "application/json": {
4155
+ "schema": {
4156
+ "additionalProperties": false,
4157
+ "properties": {
4158
+ "contractVersion": {
4159
+ "additionalProperties": false,
4160
+ "properties": {
4161
+ "major": {
4162
+ "exclusiveMinimum": 0,
4163
+ "maximum": 9007199254740991,
4164
+ "type": "integer"
4165
+ },
4166
+ "minor": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }
4167
+ },
4168
+ "required": ["major", "minor"],
4169
+ "type": "object"
4170
+ },
4171
+ "correlation": {
4172
+ "additionalProperties": false,
4173
+ "properties": {
4174
+ "causationCommandId": {},
4175
+ "parentEventId": {},
4176
+ "traceId": {}
4177
+ },
4178
+ "required": ["traceId"],
4179
+ "type": "object"
4180
+ },
4181
+ "error": {
4182
+ "additionalProperties": false,
4183
+ "properties": {
4184
+ "class": {
4185
+ "enum": [
4186
+ "validation",
4187
+ "authentication",
4188
+ "authorization",
4189
+ "conflict",
4190
+ "stale_reference",
4191
+ "capability_mismatch",
4192
+ "runtime_unavailable",
4193
+ "internal"
4194
+ ],
4195
+ "type": "string"
4196
+ },
4197
+ "code": {
4198
+ "maxLength": 96,
4199
+ "minLength": 1,
4200
+ "pattern": "^[A-Z][A-Z0-9_]*$",
4201
+ "type": "string"
4202
+ },
4203
+ "details": {
4204
+ "additionalProperties": {},
4205
+ "propertyNames": { "maxLength": 64, "type": "string" },
4206
+ "type": "object"
4207
+ },
4208
+ "message": { "maxLength": 512, "minLength": 1, "type": "string" },
4209
+ "remediation": { "maxLength": 256, "minLength": 1, "type": "string" },
4210
+ "retryable": { "type": "boolean" },
4211
+ "source": {
4212
+ "enum": [
4213
+ "client",
4214
+ "auth",
4215
+ "policy",
4216
+ "runtime",
4217
+ "provider",
4218
+ "persistence",
4219
+ "workflow",
4220
+ "system"
4221
+ ],
4222
+ "type": "string"
4223
+ }
4224
+ },
4225
+ "required": ["class", "code", "message", "retryable", "source"],
4226
+ "type": "object"
4227
+ },
4228
+ "requestId": {}
4229
+ },
4230
+ "required": ["contractVersion", "requestId", "correlation", "error"],
4231
+ "type": "object"
4232
+ }
4233
+ }
4234
+ },
4235
+ "description": "Normalized error response"
4236
+ }
4237
+ },
4238
+ "security": [{ "serviceBearer": [] }]
4239
+ }
4240
+ },
4241
+ "/v1/graphs/revoke": {
4242
+ "post": {
4243
+ "operationId": "graph.revoke",
4244
+ "requestBody": {
4245
+ "content": {
4246
+ "application/json": {
4247
+ "schema": {
4248
+ "additionalProperties": false,
4249
+ "properties": {
4250
+ "caller": {
4251
+ "properties": {
4252
+ "servicePrincipalId": {
4253
+ "maxLength": 64,
4254
+ "minLength": 5,
4255
+ "pattern": "^svc_[a-z][a-z0-9-]*$",
4256
+ "type": "string"
4257
+ }
4258
+ },
4259
+ "required": ["servicePrincipalId"],
4260
+ "type": "object"
4261
+ },
4262
+ "commandId": { "pattern": "^cmd_[0-9A-HJKMNP-TV-Z]{26}$", "type": "string" },
4263
+ "contractVersion": {
4264
+ "additionalProperties": false,
4265
+ "properties": {
4266
+ "major": {
4267
+ "exclusiveMinimum": 0,
4268
+ "maximum": 9007199254740991,
4269
+ "type": "integer"
4270
+ },
4271
+ "minor": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }
4272
+ },
4273
+ "required": ["major", "minor"],
4274
+ "type": "object"
4275
+ },
4276
+ "correlation": {
4277
+ "properties": {
4278
+ "causationCommandId": {
4279
+ "pattern": "^cmd_[0-9A-HJKMNP-TV-Z]{26}$",
4280
+ "type": "string"
4281
+ },
4282
+ "parentEventId": {
4283
+ "pattern": "^evt_[0-9A-HJKMNP-TV-Z]{26}$",
4284
+ "type": "string"
4285
+ },
4286
+ "traceId": { "pattern": "^trc_[0-9A-HJKMNP-TV-Z]{26}$", "type": "string" }
4287
+ },
4288
+ "required": ["traceId"],
4289
+ "type": "object"
4290
+ },
4291
+ "idempotencyKey": {
4292
+ "maxLength": 128,
4293
+ "minLength": 16,
4294
+ "pattern": "^[A-Za-z0-9._:-]+$",
4295
+ "type": "string"
4296
+ },
4297
+ "issuedAt": {
4298
+ "format": "date-time",
4299
+ "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))$",
4300
+ "type": "string"
4301
+ },
4302
+ "operation": { "const": "graph.revoke", "type": "string" },
4303
+ "payload": {
4304
+ "additionalProperties": false,
4305
+ "properties": {
4306
+ "expectedRevision": {
4307
+ "exclusiveMinimum": 0,
4308
+ "maximum": 9007199254740991,
4309
+ "type": "integer"
4310
+ },
4311
+ "reason": { "maxLength": 1024, "minLength": 1, "type": "string" },
4312
+ "reference": {
4313
+ "additionalProperties": false,
4314
+ "properties": {
4315
+ "contentDigest": { "pattern": "^sha256:[a-f0-9]{64}$", "type": "string" },
4316
+ "graphDefinitionId": {
4317
+ "maxLength": 256,
4318
+ "minLength": 1,
4319
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4320
+ "type": "string"
4321
+ },
4322
+ "graphVersion": {
4323
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
4324
+ "type": "string"
4325
+ }
4326
+ },
4327
+ "required": ["graphDefinitionId", "graphVersion", "contentDigest"],
4328
+ "type": "object"
4329
+ }
4330
+ },
4331
+ "required": ["reference", "expectedRevision", "reason"],
4332
+ "type": "object"
4333
+ },
4334
+ "payloadHash": { "pattern": "^[a-f0-9]{64}$", "type": "string" },
4335
+ "requestId": { "pattern": "^req_[0-9A-HJKMNP-TV-Z]{26}$", "type": "string" },
4336
+ "workspaceId": { "pattern": "^wsp_[0-9A-HJKMNP-TV-Z]{26}$", "type": "string" }
4337
+ },
4338
+ "required": [
4339
+ "caller",
4340
+ "contractVersion",
4341
+ "requestId",
4342
+ "workspaceId",
4343
+ "correlation",
4344
+ "commandId",
4345
+ "idempotencyKey",
4346
+ "payloadHash",
4347
+ "operation",
4348
+ "issuedAt",
4349
+ "payload"
4350
+ ],
4351
+ "type": "object"
4352
+ }
4353
+ }
4354
+ },
4355
+ "required": true
4356
+ },
4357
+ "responses": {
4358
+ "200": {
4359
+ "content": {
4360
+ "application/json": {
4361
+ "schema": {
4362
+ "additionalProperties": false,
4363
+ "properties": {
4364
+ "contractVersion": {
4365
+ "additionalProperties": false,
4366
+ "properties": {
4367
+ "major": {
4368
+ "exclusiveMinimum": 0,
4369
+ "maximum": 9007199254740991,
4370
+ "type": "integer"
4371
+ },
4372
+ "minor": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }
4373
+ },
4374
+ "required": ["major", "minor"],
4375
+ "type": "object"
4376
+ },
4377
+ "correlation": {
4378
+ "additionalProperties": false,
4379
+ "properties": {
4380
+ "causationCommandId": {},
4381
+ "parentEventId": {},
4382
+ "traceId": {}
4383
+ },
4384
+ "required": ["traceId"],
4385
+ "type": "object"
4386
+ },
4387
+ "data": {
4388
+ "additionalProperties": false,
4389
+ "properties": {
4390
+ "definition": {
4391
+ "additionalProperties": false,
4392
+ "properties": {
4393
+ "changedAt": {
4394
+ "format": "date-time",
4395
+ "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))$",
4396
+ "type": "string"
4397
+ },
4398
+ "content": {
4399
+ "additionalProperties": false,
4400
+ "properties": {
4401
+ "compatibility": {
4402
+ "additionalProperties": false,
4403
+ "properties": {
4404
+ "adapterVersions": {
4405
+ "items": {
4406
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
4407
+ "type": "string"
4408
+ },
4409
+ "minItems": 1,
4410
+ "type": "array"
4411
+ },
4412
+ "compilerVersions": {
4413
+ "items": {
4414
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
4415
+ "type": "string"
4416
+ },
4417
+ "minItems": 1,
4418
+ "type": "array"
4419
+ },
4420
+ "contractMajorVersions": {
4421
+ "items": {
4422
+ "exclusiveMinimum": 0,
4423
+ "maximum": 9007199254740991,
4424
+ "type": "integer"
4425
+ },
4426
+ "minItems": 1,
4427
+ "type": "array"
4428
+ }
4429
+ },
4430
+ "required": [
4431
+ "contractMajorVersions",
4432
+ "compilerVersions",
4433
+ "adapterVersions"
4434
+ ],
4435
+ "type": "object"
4436
+ },
4437
+ "edges": {
4438
+ "items": {
4439
+ "additionalProperties": false,
4440
+ "properties": {
4441
+ "from": {
4442
+ "anyOf": [
4443
+ {
4444
+ "maxLength": 128,
4445
+ "minLength": 1,
4446
+ "pattern": "^[a-z][a-z0-9._-]*$",
4447
+ "type": "string"
4448
+ },
4449
+ { "const": "__start__", "type": "string" }
4450
+ ]
4451
+ },
4452
+ "to": {
4453
+ "anyOf": [
4454
+ {
4455
+ "maxLength": 128,
4456
+ "minLength": 1,
4457
+ "pattern": "^[a-z][a-z0-9._-]*$",
4458
+ "type": "string"
4459
+ },
4460
+ { "const": "__end__", "type": "string" }
4461
+ ]
4462
+ },
4463
+ "when": {
4464
+ "additionalProperties": false,
4465
+ "properties": {
4466
+ "equals": {
4467
+ "anyOf": [
4468
+ { "maxLength": 4096, "type": "string" },
4469
+ { "type": "number" },
4470
+ { "type": "boolean" },
4471
+ { "type": "null" }
4472
+ ]
4473
+ },
4474
+ "path": {
4475
+ "items": {
4476
+ "maxLength": 256,
4477
+ "minLength": 1,
4478
+ "type": "string"
4479
+ },
4480
+ "maxItems": 16,
4481
+ "minItems": 1,
4482
+ "type": "array"
4483
+ }
4484
+ },
4485
+ "required": ["path", "equals"],
4486
+ "type": "object"
4487
+ }
4488
+ },
4489
+ "required": ["from", "to"],
4490
+ "type": "object"
4491
+ },
4492
+ "maxItems": 1024,
4493
+ "minItems": 1,
4494
+ "type": "array"
4495
+ },
4496
+ "graphDefinitionId": {
4497
+ "maxLength": 256,
4498
+ "minLength": 1,
4499
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4500
+ "type": "string"
4501
+ },
4502
+ "graphVersion": {
4503
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
4504
+ "type": "string"
4505
+ },
4506
+ "nodes": {
4507
+ "items": {
4508
+ "additionalProperties": false,
4509
+ "properties": {
4510
+ "join": { "enum": ["all", "any"], "type": "string" },
4511
+ "node": {
4512
+ "maxLength": 128,
4513
+ "minLength": 1,
4514
+ "pattern": "^[a-z][a-z0-9._-]*$",
4515
+ "type": "string"
4516
+ },
4517
+ "operation": {
4518
+ "additionalProperties": false,
4519
+ "properties": {
4520
+ "kind": {
4521
+ "enum": ["runtime", "model", "tool", "delegation"],
4522
+ "type": "string"
4523
+ },
4524
+ "name": {
4525
+ "maxLength": 256,
4526
+ "minLength": 1,
4527
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4528
+ "type": "string"
4529
+ }
4530
+ },
4531
+ "required": ["kind", "name"],
4532
+ "type": "object"
4533
+ }
4534
+ },
4535
+ "required": ["node", "operation"],
4536
+ "type": "object"
4537
+ },
4538
+ "maxItems": 256,
4539
+ "minItems": 1,
4540
+ "type": "array"
4541
+ },
4542
+ "requiredCapabilities": {
4543
+ "items": {
4544
+ "maxLength": 128,
4545
+ "minLength": 1,
4546
+ "pattern": "^[a-z][a-z0-9.-]*$",
4547
+ "type": "string"
4548
+ },
4549
+ "maxItems": 128,
4550
+ "type": "array"
4551
+ },
4552
+ "schemaVersion": { "const": 1, "type": "number" },
4553
+ "schemas": {
4554
+ "additionalProperties": false,
4555
+ "properties": {
4556
+ "input": {
4557
+ "maxLength": 256,
4558
+ "minLength": 1,
4559
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4560
+ "type": "string"
4561
+ },
4562
+ "output": {
4563
+ "maxLength": 256,
4564
+ "minLength": 1,
4565
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4566
+ "type": "string"
4567
+ },
4568
+ "state": {
4569
+ "maxLength": 256,
4570
+ "minLength": 1,
4571
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4572
+ "type": "string"
4573
+ }
4574
+ },
4575
+ "required": ["input", "state", "output"],
4576
+ "type": "object"
4577
+ }
4578
+ },
4579
+ "required": [
4580
+ "graphDefinitionId",
4581
+ "graphVersion",
4582
+ "schemaVersion",
4583
+ "nodes",
4584
+ "edges",
4585
+ "schemas",
4586
+ "requiredCapabilities",
4587
+ "compatibility"
4588
+ ],
4589
+ "type": "object"
4590
+ },
4591
+ "lifecycle": {
4592
+ "enum": ["published", "deprecated", "revoked"],
4593
+ "type": "string"
4594
+ },
4595
+ "publishedAt": {
4596
+ "format": "date-time",
4597
+ "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))$",
4598
+ "type": "string"
4599
+ },
4600
+ "reason": { "maxLength": 1024, "minLength": 1, "type": "string" },
4601
+ "reference": {
4602
+ "additionalProperties": false,
4603
+ "properties": {
4604
+ "contentDigest": {
4605
+ "pattern": "^sha256:[a-f0-9]{64}$",
4606
+ "type": "string"
4607
+ },
4608
+ "graphDefinitionId": {
4609
+ "maxLength": 256,
4610
+ "minLength": 1,
4611
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4612
+ "type": "string"
4613
+ },
4614
+ "graphVersion": {
4615
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
4616
+ "type": "string"
4617
+ }
4618
+ },
4619
+ "required": ["graphDefinitionId", "graphVersion", "contentDigest"],
4620
+ "type": "object"
4621
+ },
4622
+ "revision": {
4623
+ "exclusiveMinimum": 0,
4624
+ "maximum": 9007199254740991,
4625
+ "type": "integer"
4626
+ }
4627
+ },
4628
+ "required": [
4629
+ "reference",
4630
+ "revision",
4631
+ "lifecycle",
4632
+ "content",
4633
+ "publishedAt",
4634
+ "changedAt"
4635
+ ],
4636
+ "type": "object"
4637
+ }
4638
+ },
4639
+ "required": ["definition"],
4640
+ "type": "object"
4641
+ },
4642
+ "requestId": {}
4643
+ },
4644
+ "required": ["contractVersion", "requestId", "correlation", "data"],
4645
+ "type": "object"
4646
+ }
4647
+ }
4648
+ },
4649
+ "description": "Successful response"
4650
+ },
4651
+ "default": {
4652
+ "content": {
4653
+ "application/json": {
4654
+ "schema": {
4655
+ "additionalProperties": false,
4656
+ "properties": {
4657
+ "contractVersion": {
4658
+ "additionalProperties": false,
4659
+ "properties": {
4660
+ "major": {
4661
+ "exclusiveMinimum": 0,
4662
+ "maximum": 9007199254740991,
4663
+ "type": "integer"
4664
+ },
4665
+ "minor": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }
4666
+ },
4667
+ "required": ["major", "minor"],
4668
+ "type": "object"
4669
+ },
4670
+ "correlation": {
4671
+ "additionalProperties": false,
4672
+ "properties": {
4673
+ "causationCommandId": {},
4674
+ "parentEventId": {},
4675
+ "traceId": {}
4676
+ },
4677
+ "required": ["traceId"],
4678
+ "type": "object"
4679
+ },
4680
+ "error": {
4681
+ "additionalProperties": false,
4682
+ "properties": {
4683
+ "class": {
4684
+ "enum": [
4685
+ "validation",
4686
+ "authentication",
4687
+ "authorization",
4688
+ "conflict",
4689
+ "stale_reference",
4690
+ "capability_mismatch",
4691
+ "runtime_unavailable",
4692
+ "internal"
4693
+ ],
4694
+ "type": "string"
4695
+ },
4696
+ "code": {
4697
+ "maxLength": 96,
4698
+ "minLength": 1,
4699
+ "pattern": "^[A-Z][A-Z0-9_]*$",
4700
+ "type": "string"
4701
+ },
4702
+ "details": {
4703
+ "additionalProperties": {},
4704
+ "propertyNames": { "maxLength": 64, "type": "string" },
4705
+ "type": "object"
4706
+ },
4707
+ "message": { "maxLength": 512, "minLength": 1, "type": "string" },
4708
+ "remediation": { "maxLength": 256, "minLength": 1, "type": "string" },
4709
+ "retryable": { "type": "boolean" },
4710
+ "source": {
4711
+ "enum": [
4712
+ "client",
4713
+ "auth",
4714
+ "policy",
4715
+ "runtime",
4716
+ "provider",
4717
+ "persistence",
4718
+ "workflow",
4719
+ "system"
4720
+ ],
4721
+ "type": "string"
4722
+ }
4723
+ },
4724
+ "required": ["class", "code", "message", "retryable", "source"],
4725
+ "type": "object"
4726
+ },
4727
+ "requestId": {}
4728
+ },
4729
+ "required": ["contractVersion", "requestId", "correlation", "error"],
4730
+ "type": "object"
4731
+ }
4732
+ }
4733
+ },
4734
+ "description": "Normalized error response"
4735
+ }
4736
+ },
4737
+ "security": [{ "serviceBearer": [] }]
4738
+ }
4739
+ },
2524
4740
  "/v1/interactions/respond": {
2525
4741
  "post": {
2526
4742
  "operationId": "interaction.respond",