@adea-ai/sdk 1.8.1 → 1.10.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,2370 @@
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
+ "oneOf": [
2870
+ {
2871
+ "additionalProperties": false,
2872
+ "properties": {
2873
+ "kind": {
2874
+ "enum": ["runtime", "model", "delegation"],
2875
+ "type": "string"
2876
+ },
2877
+ "name": {
2878
+ "maxLength": 256,
2879
+ "minLength": 1,
2880
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2881
+ "type": "string"
2882
+ }
2883
+ },
2884
+ "required": ["kind", "name"],
2885
+ "type": "object"
2886
+ },
2887
+ {
2888
+ "additionalProperties": false,
2889
+ "properties": {
2890
+ "kind": { "const": "tool", "type": "string" },
2891
+ "name": {
2892
+ "maxLength": 256,
2893
+ "minLength": 1,
2894
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2895
+ "type": "string"
2896
+ },
2897
+ "toolPin": {
2898
+ "additionalProperties": false,
2899
+ "properties": {
2900
+ "contentDigest": {
2901
+ "pattern": "^sha256:[a-f0-9]{64}$",
2902
+ "type": "string"
2903
+ },
2904
+ "operation": {
2905
+ "maxLength": 128,
2906
+ "minLength": 1,
2907
+ "pattern": "^[a-z][a-z0-9.-]*$",
2908
+ "type": "string"
2909
+ },
2910
+ "toolDefinitionId": {},
2911
+ "toolVersionId": {}
2912
+ },
2913
+ "required": [
2914
+ "toolDefinitionId",
2915
+ "toolVersionId",
2916
+ "contentDigest",
2917
+ "operation"
2918
+ ],
2919
+ "type": "object"
2920
+ }
2921
+ },
2922
+ "required": ["kind", "name"],
2923
+ "type": "object"
2924
+ }
2925
+ ]
2926
+ }
2927
+ },
2928
+ "required": ["node", "operation"],
2929
+ "type": "object"
2930
+ },
2931
+ "maxItems": 256,
2932
+ "minItems": 1,
2933
+ "type": "array"
2934
+ },
2935
+ "requiredCapabilities": {
2936
+ "items": {
2937
+ "maxLength": 128,
2938
+ "minLength": 1,
2939
+ "pattern": "^[a-z][a-z0-9.-]*$",
2940
+ "type": "string"
2941
+ },
2942
+ "maxItems": 128,
2943
+ "type": "array"
2944
+ },
2945
+ "schemaVersion": { "const": 1, "type": "number" },
2946
+ "schemas": {
2947
+ "additionalProperties": false,
2948
+ "properties": {
2949
+ "input": {
2950
+ "maxLength": 256,
2951
+ "minLength": 1,
2952
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2953
+ "type": "string"
2954
+ },
2955
+ "output": {
2956
+ "maxLength": 256,
2957
+ "minLength": 1,
2958
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2959
+ "type": "string"
2960
+ },
2961
+ "state": {
2962
+ "maxLength": 256,
2963
+ "minLength": 1,
2964
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
2965
+ "type": "string"
2966
+ }
2967
+ },
2968
+ "required": ["input", "state", "output"],
2969
+ "type": "object"
2970
+ }
2971
+ },
2972
+ "required": [
2973
+ "graphDefinitionId",
2974
+ "graphVersion",
2975
+ "schemaVersion",
2976
+ "nodes",
2977
+ "edges",
2978
+ "schemas",
2979
+ "requiredCapabilities",
2980
+ "compatibility"
2981
+ ],
2982
+ "type": "object"
2983
+ },
2984
+ "lifecycle": {
2985
+ "enum": ["published", "deprecated", "revoked"],
2986
+ "type": "string"
2987
+ },
2988
+ "publishedAt": {
2989
+ "format": "date-time",
2990
+ "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))$",
2991
+ "type": "string"
2992
+ },
2993
+ "reason": { "maxLength": 1024, "minLength": 1, "type": "string" },
2994
+ "reference": {
2995
+ "additionalProperties": false,
2996
+ "properties": {
2997
+ "contentDigest": {
2998
+ "pattern": "^sha256:[a-f0-9]{64}$",
2999
+ "type": "string"
3000
+ },
3001
+ "graphDefinitionId": {
3002
+ "maxLength": 256,
3003
+ "minLength": 1,
3004
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3005
+ "type": "string"
3006
+ },
3007
+ "graphVersion": {
3008
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
3009
+ "type": "string"
3010
+ }
3011
+ },
3012
+ "required": ["graphDefinitionId", "graphVersion", "contentDigest"],
3013
+ "type": "object"
3014
+ },
3015
+ "revision": {
3016
+ "exclusiveMinimum": 0,
3017
+ "maximum": 9007199254740991,
3018
+ "type": "integer"
3019
+ }
3020
+ },
3021
+ "required": [
3022
+ "reference",
3023
+ "revision",
3024
+ "lifecycle",
3025
+ "content",
3026
+ "publishedAt",
3027
+ "changedAt"
3028
+ ],
3029
+ "type": "object"
3030
+ }
3031
+ },
3032
+ "required": ["definition"],
3033
+ "type": "object"
3034
+ },
3035
+ "requestId": {}
3036
+ },
3037
+ "required": ["contractVersion", "requestId", "correlation", "data"],
3038
+ "type": "object"
3039
+ }
3040
+ }
3041
+ },
3042
+ "description": "Successful response"
3043
+ },
3044
+ "default": {
3045
+ "content": {
3046
+ "application/json": {
3047
+ "schema": {
3048
+ "additionalProperties": false,
3049
+ "properties": {
3050
+ "contractVersion": {
3051
+ "additionalProperties": false,
3052
+ "properties": {
3053
+ "major": {
3054
+ "exclusiveMinimum": 0,
3055
+ "maximum": 9007199254740991,
3056
+ "type": "integer"
3057
+ },
3058
+ "minor": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }
3059
+ },
3060
+ "required": ["major", "minor"],
3061
+ "type": "object"
3062
+ },
3063
+ "correlation": {
3064
+ "additionalProperties": false,
3065
+ "properties": {
3066
+ "causationCommandId": {},
3067
+ "parentEventId": {},
3068
+ "traceId": {}
3069
+ },
3070
+ "required": ["traceId"],
3071
+ "type": "object"
3072
+ },
3073
+ "error": {
3074
+ "additionalProperties": false,
3075
+ "properties": {
3076
+ "class": {
3077
+ "enum": [
3078
+ "validation",
3079
+ "authentication",
3080
+ "authorization",
3081
+ "conflict",
3082
+ "stale_reference",
3083
+ "capability_mismatch",
3084
+ "runtime_unavailable",
3085
+ "internal"
3086
+ ],
3087
+ "type": "string"
3088
+ },
3089
+ "code": {
3090
+ "maxLength": 96,
3091
+ "minLength": 1,
3092
+ "pattern": "^[A-Z][A-Z0-9_]*$",
3093
+ "type": "string"
3094
+ },
3095
+ "details": {
3096
+ "additionalProperties": {},
3097
+ "propertyNames": { "maxLength": 64, "type": "string" },
3098
+ "type": "object"
3099
+ },
3100
+ "message": { "maxLength": 512, "minLength": 1, "type": "string" },
3101
+ "remediation": { "maxLength": 256, "minLength": 1, "type": "string" },
3102
+ "retryable": { "type": "boolean" },
3103
+ "source": {
3104
+ "enum": [
3105
+ "client",
3106
+ "auth",
3107
+ "policy",
3108
+ "runtime",
3109
+ "provider",
3110
+ "persistence",
3111
+ "workflow",
3112
+ "system"
3113
+ ],
3114
+ "type": "string"
3115
+ }
3116
+ },
3117
+ "required": ["class", "code", "message", "retryable", "source"],
3118
+ "type": "object"
3119
+ },
3120
+ "requestId": {}
3121
+ },
3122
+ "required": ["contractVersion", "requestId", "correlation", "error"],
3123
+ "type": "object"
3124
+ }
3125
+ }
3126
+ },
3127
+ "description": "Normalized error response"
3128
+ }
3129
+ },
3130
+ "security": [{ "serviceBearer": [] }]
3131
+ }
3132
+ },
3133
+ "/v1/graphs/publish": {
3134
+ "post": {
3135
+ "operationId": "graph.publish",
3136
+ "requestBody": {
3137
+ "content": {
3138
+ "application/json": {
3139
+ "schema": {
3140
+ "additionalProperties": false,
3141
+ "properties": {
3142
+ "caller": {
3143
+ "properties": {
3144
+ "servicePrincipalId": {
3145
+ "maxLength": 64,
3146
+ "minLength": 5,
3147
+ "pattern": "^svc_[a-z][a-z0-9-]*$",
3148
+ "type": "string"
3149
+ }
3150
+ },
3151
+ "required": ["servicePrincipalId"],
3152
+ "type": "object"
3153
+ },
3154
+ "commandId": { "pattern": "^cmd_[0-9A-HJKMNP-TV-Z]{26}$", "type": "string" },
3155
+ "contractVersion": {
3156
+ "additionalProperties": false,
3157
+ "properties": {
3158
+ "major": {
3159
+ "exclusiveMinimum": 0,
3160
+ "maximum": 9007199254740991,
3161
+ "type": "integer"
3162
+ },
3163
+ "minor": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }
3164
+ },
3165
+ "required": ["major", "minor"],
3166
+ "type": "object"
3167
+ },
3168
+ "correlation": {
3169
+ "properties": {
3170
+ "causationCommandId": {
3171
+ "pattern": "^cmd_[0-9A-HJKMNP-TV-Z]{26}$",
3172
+ "type": "string"
3173
+ },
3174
+ "parentEventId": {
3175
+ "pattern": "^evt_[0-9A-HJKMNP-TV-Z]{26}$",
3176
+ "type": "string"
3177
+ },
3178
+ "traceId": { "pattern": "^trc_[0-9A-HJKMNP-TV-Z]{26}$", "type": "string" }
3179
+ },
3180
+ "required": ["traceId"],
3181
+ "type": "object"
3182
+ },
3183
+ "idempotencyKey": {
3184
+ "maxLength": 128,
3185
+ "minLength": 16,
3186
+ "pattern": "^[A-Za-z0-9._:-]+$",
3187
+ "type": "string"
3188
+ },
3189
+ "issuedAt": {
3190
+ "format": "date-time",
3191
+ "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))$",
3192
+ "type": "string"
3193
+ },
3194
+ "operation": { "const": "graph.publish", "type": "string" },
3195
+ "payload": {
3196
+ "additionalProperties": false,
3197
+ "properties": {
3198
+ "definition": {
3199
+ "additionalProperties": false,
3200
+ "properties": {
3201
+ "compatibility": {
3202
+ "additionalProperties": false,
3203
+ "properties": {
3204
+ "adapterVersions": {
3205
+ "items": {
3206
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
3207
+ "type": "string"
3208
+ },
3209
+ "minItems": 1,
3210
+ "type": "array"
3211
+ },
3212
+ "compilerVersions": {
3213
+ "items": {
3214
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
3215
+ "type": "string"
3216
+ },
3217
+ "minItems": 1,
3218
+ "type": "array"
3219
+ },
3220
+ "contractMajorVersions": {
3221
+ "items": {
3222
+ "exclusiveMinimum": 0,
3223
+ "maximum": 9007199254740991,
3224
+ "type": "integer"
3225
+ },
3226
+ "minItems": 1,
3227
+ "type": "array"
3228
+ }
3229
+ },
3230
+ "required": [
3231
+ "contractMajorVersions",
3232
+ "compilerVersions",
3233
+ "adapterVersions"
3234
+ ],
3235
+ "type": "object"
3236
+ },
3237
+ "edges": {
3238
+ "items": {
3239
+ "additionalProperties": false,
3240
+ "properties": {
3241
+ "from": {
3242
+ "anyOf": [
3243
+ {
3244
+ "maxLength": 128,
3245
+ "minLength": 1,
3246
+ "pattern": "^[a-z][a-z0-9._-]*$",
3247
+ "type": "string"
3248
+ },
3249
+ { "const": "__start__", "type": "string" }
3250
+ ]
3251
+ },
3252
+ "to": {
3253
+ "anyOf": [
3254
+ {
3255
+ "maxLength": 128,
3256
+ "minLength": 1,
3257
+ "pattern": "^[a-z][a-z0-9._-]*$",
3258
+ "type": "string"
3259
+ },
3260
+ { "const": "__end__", "type": "string" }
3261
+ ]
3262
+ },
3263
+ "when": {
3264
+ "additionalProperties": false,
3265
+ "properties": {
3266
+ "equals": {
3267
+ "anyOf": [
3268
+ { "maxLength": 4096, "type": "string" },
3269
+ { "type": "number" },
3270
+ { "type": "boolean" },
3271
+ { "type": "null" }
3272
+ ]
3273
+ },
3274
+ "path": {
3275
+ "items": {
3276
+ "maxLength": 256,
3277
+ "minLength": 1,
3278
+ "type": "string"
3279
+ },
3280
+ "maxItems": 16,
3281
+ "minItems": 1,
3282
+ "type": "array"
3283
+ }
3284
+ },
3285
+ "required": ["path", "equals"],
3286
+ "type": "object"
3287
+ }
3288
+ },
3289
+ "required": ["from", "to"],
3290
+ "type": "object"
3291
+ },
3292
+ "maxItems": 1024,
3293
+ "minItems": 1,
3294
+ "type": "array"
3295
+ },
3296
+ "graphDefinitionId": {
3297
+ "maxLength": 256,
3298
+ "minLength": 1,
3299
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3300
+ "type": "string"
3301
+ },
3302
+ "graphVersion": {
3303
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
3304
+ "type": "string"
3305
+ },
3306
+ "nodes": {
3307
+ "items": {
3308
+ "additionalProperties": false,
3309
+ "properties": {
3310
+ "join": { "enum": ["all", "any"], "type": "string" },
3311
+ "node": {
3312
+ "maxLength": 128,
3313
+ "minLength": 1,
3314
+ "pattern": "^[a-z][a-z0-9._-]*$",
3315
+ "type": "string"
3316
+ },
3317
+ "operation": {
3318
+ "oneOf": [
3319
+ {
3320
+ "additionalProperties": false,
3321
+ "properties": {
3322
+ "kind": {
3323
+ "enum": ["runtime", "model", "delegation"],
3324
+ "type": "string"
3325
+ },
3326
+ "name": {
3327
+ "maxLength": 256,
3328
+ "minLength": 1,
3329
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3330
+ "type": "string"
3331
+ }
3332
+ },
3333
+ "required": ["kind", "name"],
3334
+ "type": "object"
3335
+ },
3336
+ {
3337
+ "additionalProperties": false,
3338
+ "properties": {
3339
+ "kind": { "const": "tool", "type": "string" },
3340
+ "name": {
3341
+ "maxLength": 256,
3342
+ "minLength": 1,
3343
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3344
+ "type": "string"
3345
+ },
3346
+ "toolPin": {
3347
+ "additionalProperties": false,
3348
+ "properties": {
3349
+ "contentDigest": {
3350
+ "pattern": "^sha256:[a-f0-9]{64}$",
3351
+ "type": "string"
3352
+ },
3353
+ "operation": {
3354
+ "maxLength": 128,
3355
+ "minLength": 1,
3356
+ "pattern": "^[a-z][a-z0-9.-]*$",
3357
+ "type": "string"
3358
+ },
3359
+ "toolDefinitionId": {
3360
+ "pattern": "^tld_[0-9A-HJKMNP-TV-Z]{26}$",
3361
+ "type": "string"
3362
+ },
3363
+ "toolVersionId": {
3364
+ "pattern": "^tlv_[0-9A-HJKMNP-TV-Z]{26}$",
3365
+ "type": "string"
3366
+ }
3367
+ },
3368
+ "required": [
3369
+ "toolDefinitionId",
3370
+ "toolVersionId",
3371
+ "contentDigest",
3372
+ "operation"
3373
+ ],
3374
+ "type": "object"
3375
+ }
3376
+ },
3377
+ "required": ["kind", "name"],
3378
+ "type": "object"
3379
+ }
3380
+ ]
3381
+ }
3382
+ },
3383
+ "required": ["node", "operation"],
3384
+ "type": "object"
3385
+ },
3386
+ "maxItems": 256,
3387
+ "minItems": 1,
3388
+ "type": "array"
3389
+ },
3390
+ "requiredCapabilities": {
3391
+ "items": {
3392
+ "maxLength": 128,
3393
+ "minLength": 1,
3394
+ "pattern": "^[a-z][a-z0-9.-]*$",
3395
+ "type": "string"
3396
+ },
3397
+ "maxItems": 128,
3398
+ "type": "array"
3399
+ },
3400
+ "schemaVersion": { "const": 1, "type": "number" },
3401
+ "schemas": {
3402
+ "additionalProperties": false,
3403
+ "properties": {
3404
+ "input": {
3405
+ "maxLength": 256,
3406
+ "minLength": 1,
3407
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3408
+ "type": "string"
3409
+ },
3410
+ "output": {
3411
+ "maxLength": 256,
3412
+ "minLength": 1,
3413
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3414
+ "type": "string"
3415
+ },
3416
+ "state": {
3417
+ "maxLength": 256,
3418
+ "minLength": 1,
3419
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3420
+ "type": "string"
3421
+ }
3422
+ },
3423
+ "required": ["input", "state", "output"],
3424
+ "type": "object"
3425
+ }
3426
+ },
3427
+ "required": [
3428
+ "graphDefinitionId",
3429
+ "graphVersion",
3430
+ "schemaVersion",
3431
+ "nodes",
3432
+ "edges",
3433
+ "schemas",
3434
+ "requiredCapabilities",
3435
+ "compatibility"
3436
+ ],
3437
+ "type": "object"
3438
+ }
3439
+ },
3440
+ "required": ["definition"],
3441
+ "type": "object"
3442
+ },
3443
+ "payloadHash": { "pattern": "^[a-f0-9]{64}$", "type": "string" },
3444
+ "requestId": { "pattern": "^req_[0-9A-HJKMNP-TV-Z]{26}$", "type": "string" },
3445
+ "workspaceId": { "pattern": "^wsp_[0-9A-HJKMNP-TV-Z]{26}$", "type": "string" }
3446
+ },
3447
+ "required": [
3448
+ "caller",
3449
+ "contractVersion",
3450
+ "requestId",
3451
+ "workspaceId",
3452
+ "correlation",
3453
+ "commandId",
3454
+ "idempotencyKey",
3455
+ "payloadHash",
3456
+ "operation",
3457
+ "issuedAt",
3458
+ "payload"
3459
+ ],
3460
+ "type": "object"
3461
+ }
3462
+ }
3463
+ },
3464
+ "required": true
3465
+ },
3466
+ "responses": {
3467
+ "200": {
3468
+ "content": {
3469
+ "application/json": {
3470
+ "schema": {
3471
+ "additionalProperties": false,
3472
+ "properties": {
3473
+ "contractVersion": {
3474
+ "additionalProperties": false,
3475
+ "properties": {
3476
+ "major": {
3477
+ "exclusiveMinimum": 0,
3478
+ "maximum": 9007199254740991,
3479
+ "type": "integer"
3480
+ },
3481
+ "minor": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }
3482
+ },
3483
+ "required": ["major", "minor"],
3484
+ "type": "object"
3485
+ },
3486
+ "correlation": {
3487
+ "additionalProperties": false,
3488
+ "properties": {
3489
+ "causationCommandId": {},
3490
+ "parentEventId": {},
3491
+ "traceId": {}
3492
+ },
3493
+ "required": ["traceId"],
3494
+ "type": "object"
3495
+ },
3496
+ "data": {
3497
+ "additionalProperties": false,
3498
+ "properties": {
3499
+ "definition": {
3500
+ "additionalProperties": false,
3501
+ "properties": {
3502
+ "changedAt": {
3503
+ "format": "date-time",
3504
+ "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))$",
3505
+ "type": "string"
3506
+ },
3507
+ "content": {
3508
+ "additionalProperties": false,
3509
+ "properties": {
3510
+ "compatibility": {
3511
+ "additionalProperties": false,
3512
+ "properties": {
3513
+ "adapterVersions": {
3514
+ "items": {
3515
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
3516
+ "type": "string"
3517
+ },
3518
+ "minItems": 1,
3519
+ "type": "array"
3520
+ },
3521
+ "compilerVersions": {
3522
+ "items": {
3523
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
3524
+ "type": "string"
3525
+ },
3526
+ "minItems": 1,
3527
+ "type": "array"
3528
+ },
3529
+ "contractMajorVersions": {
3530
+ "items": {
3531
+ "exclusiveMinimum": 0,
3532
+ "maximum": 9007199254740991,
3533
+ "type": "integer"
3534
+ },
3535
+ "minItems": 1,
3536
+ "type": "array"
3537
+ }
3538
+ },
3539
+ "required": [
3540
+ "contractMajorVersions",
3541
+ "compilerVersions",
3542
+ "adapterVersions"
3543
+ ],
3544
+ "type": "object"
3545
+ },
3546
+ "edges": {
3547
+ "items": {
3548
+ "additionalProperties": false,
3549
+ "properties": {
3550
+ "from": {
3551
+ "anyOf": [
3552
+ {
3553
+ "maxLength": 128,
3554
+ "minLength": 1,
3555
+ "pattern": "^[a-z][a-z0-9._-]*$",
3556
+ "type": "string"
3557
+ },
3558
+ { "const": "__start__", "type": "string" }
3559
+ ]
3560
+ },
3561
+ "to": {
3562
+ "anyOf": [
3563
+ {
3564
+ "maxLength": 128,
3565
+ "minLength": 1,
3566
+ "pattern": "^[a-z][a-z0-9._-]*$",
3567
+ "type": "string"
3568
+ },
3569
+ { "const": "__end__", "type": "string" }
3570
+ ]
3571
+ },
3572
+ "when": {
3573
+ "additionalProperties": false,
3574
+ "properties": {
3575
+ "equals": {
3576
+ "anyOf": [
3577
+ { "maxLength": 4096, "type": "string" },
3578
+ { "type": "number" },
3579
+ { "type": "boolean" },
3580
+ { "type": "null" }
3581
+ ]
3582
+ },
3583
+ "path": {
3584
+ "items": {
3585
+ "maxLength": 256,
3586
+ "minLength": 1,
3587
+ "type": "string"
3588
+ },
3589
+ "maxItems": 16,
3590
+ "minItems": 1,
3591
+ "type": "array"
3592
+ }
3593
+ },
3594
+ "required": ["path", "equals"],
3595
+ "type": "object"
3596
+ }
3597
+ },
3598
+ "required": ["from", "to"],
3599
+ "type": "object"
3600
+ },
3601
+ "maxItems": 1024,
3602
+ "minItems": 1,
3603
+ "type": "array"
3604
+ },
3605
+ "graphDefinitionId": {
3606
+ "maxLength": 256,
3607
+ "minLength": 1,
3608
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3609
+ "type": "string"
3610
+ },
3611
+ "graphVersion": {
3612
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
3613
+ "type": "string"
3614
+ },
3615
+ "nodes": {
3616
+ "items": {
3617
+ "additionalProperties": false,
3618
+ "properties": {
3619
+ "join": { "enum": ["all", "any"], "type": "string" },
3620
+ "node": {
3621
+ "maxLength": 128,
3622
+ "minLength": 1,
3623
+ "pattern": "^[a-z][a-z0-9._-]*$",
3624
+ "type": "string"
3625
+ },
3626
+ "operation": {
3627
+ "oneOf": [
3628
+ {
3629
+ "additionalProperties": false,
3630
+ "properties": {
3631
+ "kind": {
3632
+ "enum": ["runtime", "model", "delegation"],
3633
+ "type": "string"
3634
+ },
3635
+ "name": {
3636
+ "maxLength": 256,
3637
+ "minLength": 1,
3638
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3639
+ "type": "string"
3640
+ }
3641
+ },
3642
+ "required": ["kind", "name"],
3643
+ "type": "object"
3644
+ },
3645
+ {
3646
+ "additionalProperties": false,
3647
+ "properties": {
3648
+ "kind": { "const": "tool", "type": "string" },
3649
+ "name": {
3650
+ "maxLength": 256,
3651
+ "minLength": 1,
3652
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3653
+ "type": "string"
3654
+ },
3655
+ "toolPin": {
3656
+ "additionalProperties": false,
3657
+ "properties": {
3658
+ "contentDigest": {
3659
+ "pattern": "^sha256:[a-f0-9]{64}$",
3660
+ "type": "string"
3661
+ },
3662
+ "operation": {
3663
+ "maxLength": 128,
3664
+ "minLength": 1,
3665
+ "pattern": "^[a-z][a-z0-9.-]*$",
3666
+ "type": "string"
3667
+ },
3668
+ "toolDefinitionId": {},
3669
+ "toolVersionId": {}
3670
+ },
3671
+ "required": [
3672
+ "toolDefinitionId",
3673
+ "toolVersionId",
3674
+ "contentDigest",
3675
+ "operation"
3676
+ ],
3677
+ "type": "object"
3678
+ }
3679
+ },
3680
+ "required": ["kind", "name"],
3681
+ "type": "object"
3682
+ }
3683
+ ]
3684
+ }
3685
+ },
3686
+ "required": ["node", "operation"],
3687
+ "type": "object"
3688
+ },
3689
+ "maxItems": 256,
3690
+ "minItems": 1,
3691
+ "type": "array"
3692
+ },
3693
+ "requiredCapabilities": {
3694
+ "items": {
3695
+ "maxLength": 128,
3696
+ "minLength": 1,
3697
+ "pattern": "^[a-z][a-z0-9.-]*$",
3698
+ "type": "string"
3699
+ },
3700
+ "maxItems": 128,
3701
+ "type": "array"
3702
+ },
3703
+ "schemaVersion": { "const": 1, "type": "number" },
3704
+ "schemas": {
3705
+ "additionalProperties": false,
3706
+ "properties": {
3707
+ "input": {
3708
+ "maxLength": 256,
3709
+ "minLength": 1,
3710
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3711
+ "type": "string"
3712
+ },
3713
+ "output": {
3714
+ "maxLength": 256,
3715
+ "minLength": 1,
3716
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3717
+ "type": "string"
3718
+ },
3719
+ "state": {
3720
+ "maxLength": 256,
3721
+ "minLength": 1,
3722
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3723
+ "type": "string"
3724
+ }
3725
+ },
3726
+ "required": ["input", "state", "output"],
3727
+ "type": "object"
3728
+ }
3729
+ },
3730
+ "required": [
3731
+ "graphDefinitionId",
3732
+ "graphVersion",
3733
+ "schemaVersion",
3734
+ "nodes",
3735
+ "edges",
3736
+ "schemas",
3737
+ "requiredCapabilities",
3738
+ "compatibility"
3739
+ ],
3740
+ "type": "object"
3741
+ },
3742
+ "lifecycle": {
3743
+ "enum": ["published", "deprecated", "revoked"],
3744
+ "type": "string"
3745
+ },
3746
+ "publishedAt": {
3747
+ "format": "date-time",
3748
+ "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))$",
3749
+ "type": "string"
3750
+ },
3751
+ "reason": { "maxLength": 1024, "minLength": 1, "type": "string" },
3752
+ "reference": {
3753
+ "additionalProperties": false,
3754
+ "properties": {
3755
+ "contentDigest": {
3756
+ "pattern": "^sha256:[a-f0-9]{64}$",
3757
+ "type": "string"
3758
+ },
3759
+ "graphDefinitionId": {
3760
+ "maxLength": 256,
3761
+ "minLength": 1,
3762
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3763
+ "type": "string"
3764
+ },
3765
+ "graphVersion": {
3766
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
3767
+ "type": "string"
3768
+ }
3769
+ },
3770
+ "required": ["graphDefinitionId", "graphVersion", "contentDigest"],
3771
+ "type": "object"
3772
+ },
3773
+ "revision": {
3774
+ "exclusiveMinimum": 0,
3775
+ "maximum": 9007199254740991,
3776
+ "type": "integer"
3777
+ }
3778
+ },
3779
+ "required": [
3780
+ "reference",
3781
+ "revision",
3782
+ "lifecycle",
3783
+ "content",
3784
+ "publishedAt",
3785
+ "changedAt"
3786
+ ],
3787
+ "type": "object"
3788
+ }
3789
+ },
3790
+ "required": ["definition"],
3791
+ "type": "object"
3792
+ },
3793
+ "requestId": {}
3794
+ },
3795
+ "required": ["contractVersion", "requestId", "correlation", "data"],
3796
+ "type": "object"
3797
+ }
3798
+ }
3799
+ },
3800
+ "description": "Successful response"
3801
+ },
3802
+ "default": {
3803
+ "content": {
3804
+ "application/json": {
3805
+ "schema": {
3806
+ "additionalProperties": false,
3807
+ "properties": {
3808
+ "contractVersion": {
3809
+ "additionalProperties": false,
3810
+ "properties": {
3811
+ "major": {
3812
+ "exclusiveMinimum": 0,
3813
+ "maximum": 9007199254740991,
3814
+ "type": "integer"
3815
+ },
3816
+ "minor": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }
3817
+ },
3818
+ "required": ["major", "minor"],
3819
+ "type": "object"
3820
+ },
3821
+ "correlation": {
3822
+ "additionalProperties": false,
3823
+ "properties": {
3824
+ "causationCommandId": {},
3825
+ "parentEventId": {},
3826
+ "traceId": {}
3827
+ },
3828
+ "required": ["traceId"],
3829
+ "type": "object"
3830
+ },
3831
+ "error": {
3832
+ "additionalProperties": false,
3833
+ "properties": {
3834
+ "class": {
3835
+ "enum": [
3836
+ "validation",
3837
+ "authentication",
3838
+ "authorization",
3839
+ "conflict",
3840
+ "stale_reference",
3841
+ "capability_mismatch",
3842
+ "runtime_unavailable",
3843
+ "internal"
3844
+ ],
3845
+ "type": "string"
3846
+ },
3847
+ "code": {
3848
+ "maxLength": 96,
3849
+ "minLength": 1,
3850
+ "pattern": "^[A-Z][A-Z0-9_]*$",
3851
+ "type": "string"
3852
+ },
3853
+ "details": {
3854
+ "additionalProperties": {},
3855
+ "propertyNames": { "maxLength": 64, "type": "string" },
3856
+ "type": "object"
3857
+ },
3858
+ "message": { "maxLength": 512, "minLength": 1, "type": "string" },
3859
+ "remediation": { "maxLength": 256, "minLength": 1, "type": "string" },
3860
+ "retryable": { "type": "boolean" },
3861
+ "source": {
3862
+ "enum": [
3863
+ "client",
3864
+ "auth",
3865
+ "policy",
3866
+ "runtime",
3867
+ "provider",
3868
+ "persistence",
3869
+ "workflow",
3870
+ "system"
3871
+ ],
3872
+ "type": "string"
3873
+ }
3874
+ },
3875
+ "required": ["class", "code", "message", "retryable", "source"],
3876
+ "type": "object"
3877
+ },
3878
+ "requestId": {}
3879
+ },
3880
+ "required": ["contractVersion", "requestId", "correlation", "error"],
3881
+ "type": "object"
3882
+ }
3883
+ }
3884
+ },
3885
+ "description": "Normalized error response"
3886
+ }
3887
+ },
3888
+ "security": [{ "serviceBearer": [] }]
3889
+ }
3890
+ },
3891
+ "/v1/graphs/resolve": {
3892
+ "post": {
3893
+ "operationId": "graph.resolve",
3894
+ "requestBody": {
3895
+ "content": {
3896
+ "application/json": {
3897
+ "schema": {
3898
+ "additionalProperties": false,
3899
+ "properties": {
3900
+ "caller": {
3901
+ "properties": {
3902
+ "servicePrincipalId": {
3903
+ "maxLength": 64,
3904
+ "minLength": 5,
3905
+ "pattern": "^svc_[a-z][a-z0-9-]*$",
3906
+ "type": "string"
3907
+ }
3908
+ },
3909
+ "required": ["servicePrincipalId"],
3910
+ "type": "object"
3911
+ },
3912
+ "contractVersion": {
3913
+ "additionalProperties": false,
3914
+ "properties": {
3915
+ "major": {
3916
+ "exclusiveMinimum": 0,
3917
+ "maximum": 9007199254740991,
3918
+ "type": "integer"
3919
+ },
3920
+ "minor": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }
3921
+ },
3922
+ "required": ["major", "minor"],
3923
+ "type": "object"
3924
+ },
3925
+ "correlation": {
3926
+ "properties": {
3927
+ "causationCommandId": {
3928
+ "pattern": "^cmd_[0-9A-HJKMNP-TV-Z]{26}$",
3929
+ "type": "string"
3930
+ },
3931
+ "parentEventId": {
3932
+ "pattern": "^evt_[0-9A-HJKMNP-TV-Z]{26}$",
3933
+ "type": "string"
3934
+ },
3935
+ "traceId": { "pattern": "^trc_[0-9A-HJKMNP-TV-Z]{26}$", "type": "string" }
3936
+ },
3937
+ "required": ["traceId"],
3938
+ "type": "object"
3939
+ },
3940
+ "operation": { "const": "graph.resolve", "type": "string" },
3941
+ "parameters": {
3942
+ "additionalProperties": false,
3943
+ "properties": {
3944
+ "reference": {
3945
+ "additionalProperties": false,
3946
+ "properties": {
3947
+ "contentDigest": { "pattern": "^sha256:[a-f0-9]{64}$", "type": "string" },
3948
+ "graphDefinitionId": {
3949
+ "maxLength": 256,
3950
+ "minLength": 1,
3951
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
3952
+ "type": "string"
3953
+ },
3954
+ "graphVersion": {
3955
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
3956
+ "type": "string"
3957
+ }
3958
+ },
3959
+ "required": ["graphDefinitionId", "graphVersion", "contentDigest"],
3960
+ "type": "object"
3961
+ }
3962
+ },
3963
+ "required": ["reference"],
3964
+ "type": "object"
3965
+ },
3966
+ "requestId": { "pattern": "^req_[0-9A-HJKMNP-TV-Z]{26}$", "type": "string" },
3967
+ "requestedAt": {
3968
+ "format": "date-time",
3969
+ "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))$",
3970
+ "type": "string"
3971
+ },
3972
+ "workspaceId": { "pattern": "^wsp_[0-9A-HJKMNP-TV-Z]{26}$", "type": "string" }
3973
+ },
3974
+ "required": [
3975
+ "caller",
3976
+ "contractVersion",
3977
+ "requestId",
3978
+ "workspaceId",
3979
+ "correlation",
3980
+ "operation",
3981
+ "requestedAt",
3982
+ "parameters"
3983
+ ],
3984
+ "type": "object"
3985
+ }
3986
+ }
3987
+ },
3988
+ "required": true
3989
+ },
3990
+ "responses": {
3991
+ "200": {
3992
+ "content": {
3993
+ "application/json": {
3994
+ "schema": {
3995
+ "additionalProperties": false,
3996
+ "properties": {
3997
+ "contractVersion": {
3998
+ "additionalProperties": false,
3999
+ "properties": {
4000
+ "major": {
4001
+ "exclusiveMinimum": 0,
4002
+ "maximum": 9007199254740991,
4003
+ "type": "integer"
4004
+ },
4005
+ "minor": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }
4006
+ },
4007
+ "required": ["major", "minor"],
4008
+ "type": "object"
4009
+ },
4010
+ "correlation": {
4011
+ "additionalProperties": false,
4012
+ "properties": {
4013
+ "causationCommandId": {},
4014
+ "parentEventId": {},
4015
+ "traceId": {}
4016
+ },
4017
+ "required": ["traceId"],
4018
+ "type": "object"
4019
+ },
4020
+ "data": {
4021
+ "additionalProperties": false,
4022
+ "properties": {
4023
+ "definition": {
4024
+ "additionalProperties": false,
4025
+ "properties": {
4026
+ "changedAt": {
4027
+ "format": "date-time",
4028
+ "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))$",
4029
+ "type": "string"
4030
+ },
4031
+ "content": {
4032
+ "additionalProperties": false,
4033
+ "properties": {
4034
+ "compatibility": {
4035
+ "additionalProperties": false,
4036
+ "properties": {
4037
+ "adapterVersions": {
4038
+ "items": {
4039
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
4040
+ "type": "string"
4041
+ },
4042
+ "minItems": 1,
4043
+ "type": "array"
4044
+ },
4045
+ "compilerVersions": {
4046
+ "items": {
4047
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
4048
+ "type": "string"
4049
+ },
4050
+ "minItems": 1,
4051
+ "type": "array"
4052
+ },
4053
+ "contractMajorVersions": {
4054
+ "items": {
4055
+ "exclusiveMinimum": 0,
4056
+ "maximum": 9007199254740991,
4057
+ "type": "integer"
4058
+ },
4059
+ "minItems": 1,
4060
+ "type": "array"
4061
+ }
4062
+ },
4063
+ "required": [
4064
+ "contractMajorVersions",
4065
+ "compilerVersions",
4066
+ "adapterVersions"
4067
+ ],
4068
+ "type": "object"
4069
+ },
4070
+ "edges": {
4071
+ "items": {
4072
+ "additionalProperties": false,
4073
+ "properties": {
4074
+ "from": {
4075
+ "anyOf": [
4076
+ {
4077
+ "maxLength": 128,
4078
+ "minLength": 1,
4079
+ "pattern": "^[a-z][a-z0-9._-]*$",
4080
+ "type": "string"
4081
+ },
4082
+ { "const": "__start__", "type": "string" }
4083
+ ]
4084
+ },
4085
+ "to": {
4086
+ "anyOf": [
4087
+ {
4088
+ "maxLength": 128,
4089
+ "minLength": 1,
4090
+ "pattern": "^[a-z][a-z0-9._-]*$",
4091
+ "type": "string"
4092
+ },
4093
+ { "const": "__end__", "type": "string" }
4094
+ ]
4095
+ },
4096
+ "when": {
4097
+ "additionalProperties": false,
4098
+ "properties": {
4099
+ "equals": {
4100
+ "anyOf": [
4101
+ { "maxLength": 4096, "type": "string" },
4102
+ { "type": "number" },
4103
+ { "type": "boolean" },
4104
+ { "type": "null" }
4105
+ ]
4106
+ },
4107
+ "path": {
4108
+ "items": {
4109
+ "maxLength": 256,
4110
+ "minLength": 1,
4111
+ "type": "string"
4112
+ },
4113
+ "maxItems": 16,
4114
+ "minItems": 1,
4115
+ "type": "array"
4116
+ }
4117
+ },
4118
+ "required": ["path", "equals"],
4119
+ "type": "object"
4120
+ }
4121
+ },
4122
+ "required": ["from", "to"],
4123
+ "type": "object"
4124
+ },
4125
+ "maxItems": 1024,
4126
+ "minItems": 1,
4127
+ "type": "array"
4128
+ },
4129
+ "graphDefinitionId": {
4130
+ "maxLength": 256,
4131
+ "minLength": 1,
4132
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4133
+ "type": "string"
4134
+ },
4135
+ "graphVersion": {
4136
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
4137
+ "type": "string"
4138
+ },
4139
+ "nodes": {
4140
+ "items": {
4141
+ "additionalProperties": false,
4142
+ "properties": {
4143
+ "join": { "enum": ["all", "any"], "type": "string" },
4144
+ "node": {
4145
+ "maxLength": 128,
4146
+ "minLength": 1,
4147
+ "pattern": "^[a-z][a-z0-9._-]*$",
4148
+ "type": "string"
4149
+ },
4150
+ "operation": {
4151
+ "oneOf": [
4152
+ {
4153
+ "additionalProperties": false,
4154
+ "properties": {
4155
+ "kind": {
4156
+ "enum": ["runtime", "model", "delegation"],
4157
+ "type": "string"
4158
+ },
4159
+ "name": {
4160
+ "maxLength": 256,
4161
+ "minLength": 1,
4162
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4163
+ "type": "string"
4164
+ }
4165
+ },
4166
+ "required": ["kind", "name"],
4167
+ "type": "object"
4168
+ },
4169
+ {
4170
+ "additionalProperties": false,
4171
+ "properties": {
4172
+ "kind": { "const": "tool", "type": "string" },
4173
+ "name": {
4174
+ "maxLength": 256,
4175
+ "minLength": 1,
4176
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4177
+ "type": "string"
4178
+ },
4179
+ "toolPin": {
4180
+ "additionalProperties": false,
4181
+ "properties": {
4182
+ "contentDigest": {
4183
+ "pattern": "^sha256:[a-f0-9]{64}$",
4184
+ "type": "string"
4185
+ },
4186
+ "operation": {
4187
+ "maxLength": 128,
4188
+ "minLength": 1,
4189
+ "pattern": "^[a-z][a-z0-9.-]*$",
4190
+ "type": "string"
4191
+ },
4192
+ "toolDefinitionId": {},
4193
+ "toolVersionId": {}
4194
+ },
4195
+ "required": [
4196
+ "toolDefinitionId",
4197
+ "toolVersionId",
4198
+ "contentDigest",
4199
+ "operation"
4200
+ ],
4201
+ "type": "object"
4202
+ }
4203
+ },
4204
+ "required": ["kind", "name"],
4205
+ "type": "object"
4206
+ }
4207
+ ]
4208
+ }
4209
+ },
4210
+ "required": ["node", "operation"],
4211
+ "type": "object"
4212
+ },
4213
+ "maxItems": 256,
4214
+ "minItems": 1,
4215
+ "type": "array"
4216
+ },
4217
+ "requiredCapabilities": {
4218
+ "items": {
4219
+ "maxLength": 128,
4220
+ "minLength": 1,
4221
+ "pattern": "^[a-z][a-z0-9.-]*$",
4222
+ "type": "string"
4223
+ },
4224
+ "maxItems": 128,
4225
+ "type": "array"
4226
+ },
4227
+ "schemaVersion": { "const": 1, "type": "number" },
4228
+ "schemas": {
4229
+ "additionalProperties": false,
4230
+ "properties": {
4231
+ "input": {
4232
+ "maxLength": 256,
4233
+ "minLength": 1,
4234
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4235
+ "type": "string"
4236
+ },
4237
+ "output": {
4238
+ "maxLength": 256,
4239
+ "minLength": 1,
4240
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4241
+ "type": "string"
4242
+ },
4243
+ "state": {
4244
+ "maxLength": 256,
4245
+ "minLength": 1,
4246
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4247
+ "type": "string"
4248
+ }
4249
+ },
4250
+ "required": ["input", "state", "output"],
4251
+ "type": "object"
4252
+ }
4253
+ },
4254
+ "required": [
4255
+ "graphDefinitionId",
4256
+ "graphVersion",
4257
+ "schemaVersion",
4258
+ "nodes",
4259
+ "edges",
4260
+ "schemas",
4261
+ "requiredCapabilities",
4262
+ "compatibility"
4263
+ ],
4264
+ "type": "object"
4265
+ },
4266
+ "lifecycle": {
4267
+ "enum": ["published", "deprecated", "revoked"],
4268
+ "type": "string"
4269
+ },
4270
+ "publishedAt": {
4271
+ "format": "date-time",
4272
+ "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))$",
4273
+ "type": "string"
4274
+ },
4275
+ "reason": { "maxLength": 1024, "minLength": 1, "type": "string" },
4276
+ "reference": {
4277
+ "additionalProperties": false,
4278
+ "properties": {
4279
+ "contentDigest": {
4280
+ "pattern": "^sha256:[a-f0-9]{64}$",
4281
+ "type": "string"
4282
+ },
4283
+ "graphDefinitionId": {
4284
+ "maxLength": 256,
4285
+ "minLength": 1,
4286
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4287
+ "type": "string"
4288
+ },
4289
+ "graphVersion": {
4290
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
4291
+ "type": "string"
4292
+ }
4293
+ },
4294
+ "required": ["graphDefinitionId", "graphVersion", "contentDigest"],
4295
+ "type": "object"
4296
+ },
4297
+ "revision": {
4298
+ "exclusiveMinimum": 0,
4299
+ "maximum": 9007199254740991,
4300
+ "type": "integer"
4301
+ }
4302
+ },
4303
+ "required": [
4304
+ "reference",
4305
+ "revision",
4306
+ "lifecycle",
4307
+ "content",
4308
+ "publishedAt",
4309
+ "changedAt"
4310
+ ],
4311
+ "type": "object"
4312
+ }
4313
+ },
4314
+ "required": ["definition"],
4315
+ "type": "object"
4316
+ },
4317
+ "requestId": {}
4318
+ },
4319
+ "required": ["contractVersion", "requestId", "correlation", "data"],
4320
+ "type": "object"
4321
+ }
4322
+ }
4323
+ },
4324
+ "description": "Successful response"
4325
+ },
4326
+ "default": {
4327
+ "content": {
4328
+ "application/json": {
4329
+ "schema": {
4330
+ "additionalProperties": false,
4331
+ "properties": {
4332
+ "contractVersion": {
4333
+ "additionalProperties": false,
4334
+ "properties": {
4335
+ "major": {
4336
+ "exclusiveMinimum": 0,
4337
+ "maximum": 9007199254740991,
4338
+ "type": "integer"
4339
+ },
4340
+ "minor": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }
4341
+ },
4342
+ "required": ["major", "minor"],
4343
+ "type": "object"
4344
+ },
4345
+ "correlation": {
4346
+ "additionalProperties": false,
4347
+ "properties": {
4348
+ "causationCommandId": {},
4349
+ "parentEventId": {},
4350
+ "traceId": {}
4351
+ },
4352
+ "required": ["traceId"],
4353
+ "type": "object"
4354
+ },
4355
+ "error": {
4356
+ "additionalProperties": false,
4357
+ "properties": {
4358
+ "class": {
4359
+ "enum": [
4360
+ "validation",
4361
+ "authentication",
4362
+ "authorization",
4363
+ "conflict",
4364
+ "stale_reference",
4365
+ "capability_mismatch",
4366
+ "runtime_unavailable",
4367
+ "internal"
4368
+ ],
4369
+ "type": "string"
4370
+ },
4371
+ "code": {
4372
+ "maxLength": 96,
4373
+ "minLength": 1,
4374
+ "pattern": "^[A-Z][A-Z0-9_]*$",
4375
+ "type": "string"
4376
+ },
4377
+ "details": {
4378
+ "additionalProperties": {},
4379
+ "propertyNames": { "maxLength": 64, "type": "string" },
4380
+ "type": "object"
4381
+ },
4382
+ "message": { "maxLength": 512, "minLength": 1, "type": "string" },
4383
+ "remediation": { "maxLength": 256, "minLength": 1, "type": "string" },
4384
+ "retryable": { "type": "boolean" },
4385
+ "source": {
4386
+ "enum": [
4387
+ "client",
4388
+ "auth",
4389
+ "policy",
4390
+ "runtime",
4391
+ "provider",
4392
+ "persistence",
4393
+ "workflow",
4394
+ "system"
4395
+ ],
4396
+ "type": "string"
4397
+ }
4398
+ },
4399
+ "required": ["class", "code", "message", "retryable", "source"],
4400
+ "type": "object"
4401
+ },
4402
+ "requestId": {}
4403
+ },
4404
+ "required": ["contractVersion", "requestId", "correlation", "error"],
4405
+ "type": "object"
4406
+ }
4407
+ }
4408
+ },
4409
+ "description": "Normalized error response"
4410
+ }
4411
+ },
4412
+ "security": [{ "serviceBearer": [] }]
4413
+ }
4414
+ },
4415
+ "/v1/graphs/revoke": {
4416
+ "post": {
4417
+ "operationId": "graph.revoke",
4418
+ "requestBody": {
4419
+ "content": {
4420
+ "application/json": {
4421
+ "schema": {
4422
+ "additionalProperties": false,
4423
+ "properties": {
4424
+ "caller": {
4425
+ "properties": {
4426
+ "servicePrincipalId": {
4427
+ "maxLength": 64,
4428
+ "minLength": 5,
4429
+ "pattern": "^svc_[a-z][a-z0-9-]*$",
4430
+ "type": "string"
4431
+ }
4432
+ },
4433
+ "required": ["servicePrincipalId"],
4434
+ "type": "object"
4435
+ },
4436
+ "commandId": { "pattern": "^cmd_[0-9A-HJKMNP-TV-Z]{26}$", "type": "string" },
4437
+ "contractVersion": {
4438
+ "additionalProperties": false,
4439
+ "properties": {
4440
+ "major": {
4441
+ "exclusiveMinimum": 0,
4442
+ "maximum": 9007199254740991,
4443
+ "type": "integer"
4444
+ },
4445
+ "minor": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }
4446
+ },
4447
+ "required": ["major", "minor"],
4448
+ "type": "object"
4449
+ },
4450
+ "correlation": {
4451
+ "properties": {
4452
+ "causationCommandId": {
4453
+ "pattern": "^cmd_[0-9A-HJKMNP-TV-Z]{26}$",
4454
+ "type": "string"
4455
+ },
4456
+ "parentEventId": {
4457
+ "pattern": "^evt_[0-9A-HJKMNP-TV-Z]{26}$",
4458
+ "type": "string"
4459
+ },
4460
+ "traceId": { "pattern": "^trc_[0-9A-HJKMNP-TV-Z]{26}$", "type": "string" }
4461
+ },
4462
+ "required": ["traceId"],
4463
+ "type": "object"
4464
+ },
4465
+ "idempotencyKey": {
4466
+ "maxLength": 128,
4467
+ "minLength": 16,
4468
+ "pattern": "^[A-Za-z0-9._:-]+$",
4469
+ "type": "string"
4470
+ },
4471
+ "issuedAt": {
4472
+ "format": "date-time",
4473
+ "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))$",
4474
+ "type": "string"
4475
+ },
4476
+ "operation": { "const": "graph.revoke", "type": "string" },
4477
+ "payload": {
4478
+ "additionalProperties": false,
4479
+ "properties": {
4480
+ "expectedRevision": {
4481
+ "exclusiveMinimum": 0,
4482
+ "maximum": 9007199254740991,
4483
+ "type": "integer"
4484
+ },
4485
+ "reason": { "maxLength": 1024, "minLength": 1, "type": "string" },
4486
+ "reference": {
4487
+ "additionalProperties": false,
4488
+ "properties": {
4489
+ "contentDigest": { "pattern": "^sha256:[a-f0-9]{64}$", "type": "string" },
4490
+ "graphDefinitionId": {
4491
+ "maxLength": 256,
4492
+ "minLength": 1,
4493
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4494
+ "type": "string"
4495
+ },
4496
+ "graphVersion": {
4497
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
4498
+ "type": "string"
4499
+ }
4500
+ },
4501
+ "required": ["graphDefinitionId", "graphVersion", "contentDigest"],
4502
+ "type": "object"
4503
+ }
4504
+ },
4505
+ "required": ["reference", "expectedRevision", "reason"],
4506
+ "type": "object"
4507
+ },
4508
+ "payloadHash": { "pattern": "^[a-f0-9]{64}$", "type": "string" },
4509
+ "requestId": { "pattern": "^req_[0-9A-HJKMNP-TV-Z]{26}$", "type": "string" },
4510
+ "workspaceId": { "pattern": "^wsp_[0-9A-HJKMNP-TV-Z]{26}$", "type": "string" }
4511
+ },
4512
+ "required": [
4513
+ "caller",
4514
+ "contractVersion",
4515
+ "requestId",
4516
+ "workspaceId",
4517
+ "correlation",
4518
+ "commandId",
4519
+ "idempotencyKey",
4520
+ "payloadHash",
4521
+ "operation",
4522
+ "issuedAt",
4523
+ "payload"
4524
+ ],
4525
+ "type": "object"
4526
+ }
4527
+ }
4528
+ },
4529
+ "required": true
4530
+ },
4531
+ "responses": {
4532
+ "200": {
4533
+ "content": {
4534
+ "application/json": {
4535
+ "schema": {
4536
+ "additionalProperties": false,
4537
+ "properties": {
4538
+ "contractVersion": {
4539
+ "additionalProperties": false,
4540
+ "properties": {
4541
+ "major": {
4542
+ "exclusiveMinimum": 0,
4543
+ "maximum": 9007199254740991,
4544
+ "type": "integer"
4545
+ },
4546
+ "minor": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }
4547
+ },
4548
+ "required": ["major", "minor"],
4549
+ "type": "object"
4550
+ },
4551
+ "correlation": {
4552
+ "additionalProperties": false,
4553
+ "properties": {
4554
+ "causationCommandId": {},
4555
+ "parentEventId": {},
4556
+ "traceId": {}
4557
+ },
4558
+ "required": ["traceId"],
4559
+ "type": "object"
4560
+ },
4561
+ "data": {
4562
+ "additionalProperties": false,
4563
+ "properties": {
4564
+ "definition": {
4565
+ "additionalProperties": false,
4566
+ "properties": {
4567
+ "changedAt": {
4568
+ "format": "date-time",
4569
+ "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))$",
4570
+ "type": "string"
4571
+ },
4572
+ "content": {
4573
+ "additionalProperties": false,
4574
+ "properties": {
4575
+ "compatibility": {
4576
+ "additionalProperties": false,
4577
+ "properties": {
4578
+ "adapterVersions": {
4579
+ "items": {
4580
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
4581
+ "type": "string"
4582
+ },
4583
+ "minItems": 1,
4584
+ "type": "array"
4585
+ },
4586
+ "compilerVersions": {
4587
+ "items": {
4588
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
4589
+ "type": "string"
4590
+ },
4591
+ "minItems": 1,
4592
+ "type": "array"
4593
+ },
4594
+ "contractMajorVersions": {
4595
+ "items": {
4596
+ "exclusiveMinimum": 0,
4597
+ "maximum": 9007199254740991,
4598
+ "type": "integer"
4599
+ },
4600
+ "minItems": 1,
4601
+ "type": "array"
4602
+ }
4603
+ },
4604
+ "required": [
4605
+ "contractMajorVersions",
4606
+ "compilerVersions",
4607
+ "adapterVersions"
4608
+ ],
4609
+ "type": "object"
4610
+ },
4611
+ "edges": {
4612
+ "items": {
4613
+ "additionalProperties": false,
4614
+ "properties": {
4615
+ "from": {
4616
+ "anyOf": [
4617
+ {
4618
+ "maxLength": 128,
4619
+ "minLength": 1,
4620
+ "pattern": "^[a-z][a-z0-9._-]*$",
4621
+ "type": "string"
4622
+ },
4623
+ { "const": "__start__", "type": "string" }
4624
+ ]
4625
+ },
4626
+ "to": {
4627
+ "anyOf": [
4628
+ {
4629
+ "maxLength": 128,
4630
+ "minLength": 1,
4631
+ "pattern": "^[a-z][a-z0-9._-]*$",
4632
+ "type": "string"
4633
+ },
4634
+ { "const": "__end__", "type": "string" }
4635
+ ]
4636
+ },
4637
+ "when": {
4638
+ "additionalProperties": false,
4639
+ "properties": {
4640
+ "equals": {
4641
+ "anyOf": [
4642
+ { "maxLength": 4096, "type": "string" },
4643
+ { "type": "number" },
4644
+ { "type": "boolean" },
4645
+ { "type": "null" }
4646
+ ]
4647
+ },
4648
+ "path": {
4649
+ "items": {
4650
+ "maxLength": 256,
4651
+ "minLength": 1,
4652
+ "type": "string"
4653
+ },
4654
+ "maxItems": 16,
4655
+ "minItems": 1,
4656
+ "type": "array"
4657
+ }
4658
+ },
4659
+ "required": ["path", "equals"],
4660
+ "type": "object"
4661
+ }
4662
+ },
4663
+ "required": ["from", "to"],
4664
+ "type": "object"
4665
+ },
4666
+ "maxItems": 1024,
4667
+ "minItems": 1,
4668
+ "type": "array"
4669
+ },
4670
+ "graphDefinitionId": {
4671
+ "maxLength": 256,
4672
+ "minLength": 1,
4673
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4674
+ "type": "string"
4675
+ },
4676
+ "graphVersion": {
4677
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
4678
+ "type": "string"
4679
+ },
4680
+ "nodes": {
4681
+ "items": {
4682
+ "additionalProperties": false,
4683
+ "properties": {
4684
+ "join": { "enum": ["all", "any"], "type": "string" },
4685
+ "node": {
4686
+ "maxLength": 128,
4687
+ "minLength": 1,
4688
+ "pattern": "^[a-z][a-z0-9._-]*$",
4689
+ "type": "string"
4690
+ },
4691
+ "operation": {
4692
+ "oneOf": [
4693
+ {
4694
+ "additionalProperties": false,
4695
+ "properties": {
4696
+ "kind": {
4697
+ "enum": ["runtime", "model", "delegation"],
4698
+ "type": "string"
4699
+ },
4700
+ "name": {
4701
+ "maxLength": 256,
4702
+ "minLength": 1,
4703
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4704
+ "type": "string"
4705
+ }
4706
+ },
4707
+ "required": ["kind", "name"],
4708
+ "type": "object"
4709
+ },
4710
+ {
4711
+ "additionalProperties": false,
4712
+ "properties": {
4713
+ "kind": { "const": "tool", "type": "string" },
4714
+ "name": {
4715
+ "maxLength": 256,
4716
+ "minLength": 1,
4717
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4718
+ "type": "string"
4719
+ },
4720
+ "toolPin": {
4721
+ "additionalProperties": false,
4722
+ "properties": {
4723
+ "contentDigest": {
4724
+ "pattern": "^sha256:[a-f0-9]{64}$",
4725
+ "type": "string"
4726
+ },
4727
+ "operation": {
4728
+ "maxLength": 128,
4729
+ "minLength": 1,
4730
+ "pattern": "^[a-z][a-z0-9.-]*$",
4731
+ "type": "string"
4732
+ },
4733
+ "toolDefinitionId": {},
4734
+ "toolVersionId": {}
4735
+ },
4736
+ "required": [
4737
+ "toolDefinitionId",
4738
+ "toolVersionId",
4739
+ "contentDigest",
4740
+ "operation"
4741
+ ],
4742
+ "type": "object"
4743
+ }
4744
+ },
4745
+ "required": ["kind", "name"],
4746
+ "type": "object"
4747
+ }
4748
+ ]
4749
+ }
4750
+ },
4751
+ "required": ["node", "operation"],
4752
+ "type": "object"
4753
+ },
4754
+ "maxItems": 256,
4755
+ "minItems": 1,
4756
+ "type": "array"
4757
+ },
4758
+ "requiredCapabilities": {
4759
+ "items": {
4760
+ "maxLength": 128,
4761
+ "minLength": 1,
4762
+ "pattern": "^[a-z][a-z0-9.-]*$",
4763
+ "type": "string"
4764
+ },
4765
+ "maxItems": 128,
4766
+ "type": "array"
4767
+ },
4768
+ "schemaVersion": { "const": 1, "type": "number" },
4769
+ "schemas": {
4770
+ "additionalProperties": false,
4771
+ "properties": {
4772
+ "input": {
4773
+ "maxLength": 256,
4774
+ "minLength": 1,
4775
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4776
+ "type": "string"
4777
+ },
4778
+ "output": {
4779
+ "maxLength": 256,
4780
+ "minLength": 1,
4781
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4782
+ "type": "string"
4783
+ },
4784
+ "state": {
4785
+ "maxLength": 256,
4786
+ "minLength": 1,
4787
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4788
+ "type": "string"
4789
+ }
4790
+ },
4791
+ "required": ["input", "state", "output"],
4792
+ "type": "object"
4793
+ }
4794
+ },
4795
+ "required": [
4796
+ "graphDefinitionId",
4797
+ "graphVersion",
4798
+ "schemaVersion",
4799
+ "nodes",
4800
+ "edges",
4801
+ "schemas",
4802
+ "requiredCapabilities",
4803
+ "compatibility"
4804
+ ],
4805
+ "type": "object"
4806
+ },
4807
+ "lifecycle": {
4808
+ "enum": ["published", "deprecated", "revoked"],
4809
+ "type": "string"
4810
+ },
4811
+ "publishedAt": {
4812
+ "format": "date-time",
4813
+ "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))$",
4814
+ "type": "string"
4815
+ },
4816
+ "reason": { "maxLength": 1024, "minLength": 1, "type": "string" },
4817
+ "reference": {
4818
+ "additionalProperties": false,
4819
+ "properties": {
4820
+ "contentDigest": {
4821
+ "pattern": "^sha256:[a-f0-9]{64}$",
4822
+ "type": "string"
4823
+ },
4824
+ "graphDefinitionId": {
4825
+ "maxLength": 256,
4826
+ "minLength": 1,
4827
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
4828
+ "type": "string"
4829
+ },
4830
+ "graphVersion": {
4831
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$",
4832
+ "type": "string"
4833
+ }
4834
+ },
4835
+ "required": ["graphDefinitionId", "graphVersion", "contentDigest"],
4836
+ "type": "object"
4837
+ },
4838
+ "revision": {
4839
+ "exclusiveMinimum": 0,
4840
+ "maximum": 9007199254740991,
4841
+ "type": "integer"
4842
+ }
4843
+ },
4844
+ "required": [
4845
+ "reference",
4846
+ "revision",
4847
+ "lifecycle",
4848
+ "content",
4849
+ "publishedAt",
4850
+ "changedAt"
4851
+ ],
4852
+ "type": "object"
4853
+ }
4854
+ },
4855
+ "required": ["definition"],
4856
+ "type": "object"
4857
+ },
4858
+ "requestId": {}
4859
+ },
4860
+ "required": ["contractVersion", "requestId", "correlation", "data"],
4861
+ "type": "object"
4862
+ }
4863
+ }
4864
+ },
4865
+ "description": "Successful response"
4866
+ },
4867
+ "default": {
4868
+ "content": {
4869
+ "application/json": {
4870
+ "schema": {
4871
+ "additionalProperties": false,
4872
+ "properties": {
4873
+ "contractVersion": {
4874
+ "additionalProperties": false,
4875
+ "properties": {
4876
+ "major": {
4877
+ "exclusiveMinimum": 0,
4878
+ "maximum": 9007199254740991,
4879
+ "type": "integer"
4880
+ },
4881
+ "minor": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }
4882
+ },
4883
+ "required": ["major", "minor"],
4884
+ "type": "object"
4885
+ },
4886
+ "correlation": {
4887
+ "additionalProperties": false,
4888
+ "properties": {
4889
+ "causationCommandId": {},
4890
+ "parentEventId": {},
4891
+ "traceId": {}
4892
+ },
4893
+ "required": ["traceId"],
4894
+ "type": "object"
4895
+ },
4896
+ "error": {
4897
+ "additionalProperties": false,
4898
+ "properties": {
4899
+ "class": {
4900
+ "enum": [
4901
+ "validation",
4902
+ "authentication",
4903
+ "authorization",
4904
+ "conflict",
4905
+ "stale_reference",
4906
+ "capability_mismatch",
4907
+ "runtime_unavailable",
4908
+ "internal"
4909
+ ],
4910
+ "type": "string"
4911
+ },
4912
+ "code": {
4913
+ "maxLength": 96,
4914
+ "minLength": 1,
4915
+ "pattern": "^[A-Z][A-Z0-9_]*$",
4916
+ "type": "string"
4917
+ },
4918
+ "details": {
4919
+ "additionalProperties": {},
4920
+ "propertyNames": { "maxLength": 64, "type": "string" },
4921
+ "type": "object"
4922
+ },
4923
+ "message": { "maxLength": 512, "minLength": 1, "type": "string" },
4924
+ "remediation": { "maxLength": 256, "minLength": 1, "type": "string" },
4925
+ "retryable": { "type": "boolean" },
4926
+ "source": {
4927
+ "enum": [
4928
+ "client",
4929
+ "auth",
4930
+ "policy",
4931
+ "runtime",
4932
+ "provider",
4933
+ "persistence",
4934
+ "workflow",
4935
+ "system"
4936
+ ],
4937
+ "type": "string"
4938
+ }
4939
+ },
4940
+ "required": ["class", "code", "message", "retryable", "source"],
4941
+ "type": "object"
4942
+ },
4943
+ "requestId": {}
4944
+ },
4945
+ "required": ["contractVersion", "requestId", "correlation", "error"],
4946
+ "type": "object"
4947
+ }
4948
+ }
4949
+ },
4950
+ "description": "Normalized error response"
4951
+ }
4952
+ },
4953
+ "security": [{ "serviceBearer": [] }]
4954
+ }
4955
+ },
2524
4956
  "/v1/interactions/respond": {
2525
4957
  "post": {
2526
4958
  "operationId": "interaction.respond",